[英]C# Threading - How to start and stop a thread
誰能給我一個關於線程主題的先機? 我想我知道如何做一些事情,但我需要知道如何做以下事情:
設置一個主線程,該線程將一直保持活動狀態,直到我發出停止信號為止(如果您想知道,它會在收到數據時終止)。 然后我希望啟動第二個線程,該線程將從文本框中捕獲數據,並在我向用戶按下 Enter 鍵時發出信號時退出。
干杯!
我就是這樣做的...
public class ThreadA {
public ThreadA(object[] args) {
...
}
public void Run() {
while (true) {
Thread.sleep(1000); // wait 1 second for something to happen.
doStuff();
if(conditionToExitReceived) // what im waiting for...
break;
}
//perform cleanup if there is any...
}
}
然后在它自己的線程中運行它......(我這樣做是因為我也想將 args 發送到線程)
private void FireThread(){
Thread thread = new Thread(new ThreadStart(this.startThread));
thread.start();
}
private void (startThread){
new ThreadA(args).Run();
}
線程是通過調用“FireThread()”創建的
新創建的線程將運行,直到滿足其停止條件,然后它就會死亡......
你可以用委托給“main”發信號,告訴它線程什么時候死了..這樣你就可以開始第二個......
最好通讀: 這篇 MSDN 文章
Thread th = new Thread(function1);
th.Start();
th.Abort();
void function1(){
//code here
}
在您生成的線程中使用靜態 AutoResetEvent 以使用 Set() 方法回調主線程。 這家伙在 SO 中有一個相當不錯的演示,說明如何使用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.