控制元件怎么使用while(true)回圈執行緒,或有其它方法
uj5u.com熱心網友回復:
開啟執行緒,結果委托給ui執行緒uj5u.com熱心網友回復:
另外什么需求讓你使用死回圈的
uj5u.com熱心網友回復:
while(true)樓主確定????
uj5u.com熱心網友回復:
注意記憶體溢位和執行緒uj5u.com熱心網友回復:
while(true) 就是使用大忌。。。。uj5u.com熱心網友回復:
這是死回圈吧uj5u.com熱心網友回復:
所以 你的代碼是
while(true)
{
var t=new thread()....
t.start();
}
你這代碼 給你全宇宙最牛逼的電腦 也運行不了啊...
不如你說說你想實作什么需求?
我覺得可能只是一個定時器就能解決的問題...非得要弄這么復雜..
uj5u.com熱心網友回復:
while true可以用
關鍵是,你啥時候跳出這個回圈
你一直搞下去,搞到你電腦記憶體100%
直接死機,有幾把意思
?
uj5u.com熱心網友回復:
微軟有這個命令,說明它是可以用的,估計你是等待一個全域變數的值的變化再跳出回圈,建議你中間加一個thread.sleep(1),哪怕是sleep 1毫秒,都和不加sleep大不一樣。比如除錯運動控制卡時,需要軸運動到某個點位,這時候while true命令就簡單好用,刷TIMER太麻煩了,因為是在除錯程序,不存在UI卡不卡的問題。
uj5u.com熱心網友回復:
你直接用執行緒池就好啦。有任務,就塞給執行緒池去做。
作為新手的話,
先不用糾結放棄策略,只要關心執行緒數量上限,以及記錄例外日志就好。
uj5u.com熱心網友回復:
沒事 斷電重啟就好了
uj5u.com熱心網友回復:
很多原始碼中也會用到while(true)或者無限for回圈,尤其在在獲取鎖的程序中可能就要無限回圈去嘗試獲取鎖。最主要的一點就是你要有臨界條件或者退出條件,在編程的時候可以sleep或者wait一下uj5u.com熱心網友回復:
初學者和不了解程式運行的各種原理的人不建議使用while(true)
{
//你的代碼段
}
和
goto #lable
原因很簡單,因為雖然方便但是你需要用更多的時間和精力考慮怎么用更安全高效。
按照你跟樓上各位的交流來看,你還不合適用這些。
uj5u.com熱心網友回復:
你可以使用while(true)來回圈創建執行緒,比如在socket通信中,服務器端就需要利用while(true)來不斷監聽客戶端的請求,不斷新建各自的通信執行緒。但是你必須要想到什么時候才需要創建執行緒,什么時候執行緒又會釋放,如果無意義的一直新建執行緒,不只是頁面卡死,電腦都會死機。你提的問題太籠統了,你把需求說出來,或者把代碼發出來啊,直接這么問鬼知道你說的是啥uj5u.com熱心網友回復:
開啟背景執行緒或者timeruj5u.com熱心網友回復:
你可以用 timer 看看uj5u.com熱心網友回復:
多謝,問題以解決,以運行穩定!
uj5u.com熱心網友回復:
問題我以解決,你不了解具體問題請不要這樣說粗話
uj5u.com熱心網友回復:
好的,多謝,問題已解決了
uj5u.com熱心網友回復:
同意一樓,用執行緒,在執行緒中while trueuj5u.com熱心網友回復:
可改用for 回圈,我寫了多年的程式,老實講while 不常用,都用for 回圈For
{
If (true) break;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/116327.html
標籤:C#
