C# 线程 - 如何启动和停止线程
本文关键字:线程 启动 何启动 | 更新日期: 2023-09-27 18:34:38
谁能给我一个关于线程的话题?我想我知道如何做一些事情,但我需要知道如何做以下事情:
设置一个主线程,该线程将保持活动状态,直到我发出停止信号(如果您想知道,它将在收到数据时终止(。然后我想要第二个线程启动,它将从文本框中捕获数据,并且当我向用户按下 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...
}
}
然后在它自己的线程中运行它...(我这样做是因为我也想向线程发送参数(
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中有一个关于如何使用它的相当不错的演示。
自动重置事件说明