線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:887
推到 Plurk!
推到 Facebook!

請問如何在自己設計的元件中加入Thread

答題得分者是:arnoyu
kylechen
一般會員


發表:1
回覆:3
積分:0
註冊:2003-04-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-09 10:27:51 IP:61.222.xxx.xxx 未訂閱
看了許多關於RS232的使用方式,其中用THREAD的都是在讀入及寫出的動作,參考了書籍,寫了一個Comm元件,可是他讀取狀態產生事件的方式是用Timer來做,可是Timer的速度不是很符合我的要求,所以想用thread的方式來產生事件,請問要如何使用thread來做這個動作(就是想用thread取代timer週期性的動作)
arnoyu
中階會員


發表:73
回覆:88
積分:67
註冊:2003-03-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-07-09 17:10:37 IP:61.56.xxx.xxx 未訂閱
給個小意見,參考~   您可以參考 bruce0211前輩的黃金文章 http://delphi.ktop.com.tw/topic.php?topic_Id=18760 文章很長,中間有提到:
引言: 多執行緒測試 利用一個無窮迴圈來顯示目前時間 , 但卻不會影響 User 在 Memo 中編輯資料 ; 若此無窮迴圈不是放在 Thread 中 , 則整個 cpu 時間會被其佔用.......
================================================================= 所以您可用 無窮迴圈 加 Thread 加 Sleep(控制時間) 來達到目的.. 參考看看吧~~ ===三人行必有我師焉===
kylechen
一般會員


發表:1
回覆:3
積分:0
註冊:2003-04-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-07-10 01:09:51 IP:218.166.xxx.xxx 未訂閱
引言: 給個小意見,參考~ 您可以參考 bruce0211前輩的黃金文章 http://delphi.ktop.com.tw/topic.php?topic_Id=18760 文章很長,中間有提到:
引言: 多執行緒測試 利用一個無窮迴圈來顯示目前時間 , 但卻不會影響 User 在 Memo 中編輯資料 ; 若此無窮迴圈不是放在 Thread 中 , 則整個 cpu 時間會被其佔用.......
================================================================= 所以您可用 無窮迴圈 加 Thread 加 Sleep(控制時間) 來達到目的.. 參考看看吧~~ ===三人行必有我師焉===
謝謝你的回答.我已經找到了方式了,,可是可以問一下嗎.. 當我用Thread時,為什麼cpu的使用率會到100%... 有什麼方式可以讓他降下來嗎..
arnoyu
中階會員


發表:73
回覆:88
積分:67
註冊:2003-03-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-07-10 13:27:10 IP:61.56.xxx.xxx 未訂閱
如果您是使用:無窮迴圈 加 Thread 加 Sleep(控制時間) 來達到目的.. 我個人覺得這樣的方式不是粉好的方法說(雖然可以拿來試試~), 請問一下,為什麼您會說: Timer的速度不是很符合我的要求 若 > 也有可能是您的程式裡,迴圈方面有問題所造成滴ㄛ~ ===三人行必有我師焉===
kylechen
一般會員


發表:1
回覆:3
積分:0
註冊:2003-04-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-07-10 16:16:53 IP:61.222.xxx.xxx 未訂閱
引言: 如果您是使用:無窮迴圈 加 Thread 加 Sleep(控制時間) 來達到目的.. 我個人覺得這樣的方式不是粉好的方法說(雖然可以拿來試試~), 請問一下,為什麼您會說: Timer的速度不是很符合我的要求 若 > 也有可能是您的程式裡,迴圈方面有問題所造成滴ㄛ~ ===三人行必有我師焉=== < face="Verdana, Arial, Helvetica"> 你真的很熱心,所以真的要謝謝你.. 我本來是用timer的..可是他的速度不夠快,雖然是千分之一的時間 所以我才想用thread的方式,在thread中,我沒有用到sleep函數, 所以接近無限回圈的方式,那時cpu的執行都在100%.當然就不會有 資料掉的問題,用timer就會,後來想一想,可能是我的buffer設不大, 所以才會有這種問題,現在我的做法還是用thread來做Event的產生, 只是在當中加入sleep讓他跟timer一樣,再設另一個變數來控制是不 是要讓sleep作用,這樣就可以有多種用途了, 其實我最想問的是,如果讓 我的comm元件去執行一個thread and thread 可以執行comm中的Event 函數..是想出來了,可以動作了..可是更謝謝你 的回應.因為我沒有想到在thread中加sleep 有這麼大的影響,可以讓100% 下到2~3%的cpu執行率,,,真的是很感謝你的指導..一個呆呆的初學者..
系統時間:2024-05-07 3:25:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!