C# 控制多个线程的好方法
我有一个MDI WinForms应用程序,可以执行多个任务。每个任务都作为后台工作人员运行 控制运行线程的好方法是什么:C# 控制多个线程的好方法,c#,vb.net,multithreading,C#,Vb.net,Multithreading,我有一个MDI WinForms应用程序,可以执行多个任务。每个任务都作为后台工作人员运行 控制运行线程的好方法是什么: 检查特定线程是否正在运行 停止特定线程 例如,不可能同时运行同一个任务 我可能需要一个单独的类来存储isTaskRunning变量 这样做的好方法是什么 TIA您可以采取的一种方法是为每个任务创建一个类。然后让该类执行任务。它将知道是否可以同时使用多个任务,并限制对每个任务的访问。因此: public class LongUploadTask { private bo
- 检查特定线程是否正在运行
- 停止特定线程
TIA您可以采取的一种方法是为每个任务创建一个类。然后让该类执行任务。它将知道是否可以同时使用多个任务,并限制对每个任务的访问。因此:
public class LongUploadTask
{
private bool isRunning;
public void Execute()
{
if(!isRunning)
{
//etc...
}
}
}
注意,如果您是从多个线程访问它,那么我省略了锁定代码,我认为您不是。此外,如果您希望异步执行此任务,可以使用异步委托和手动重置事件来实现BackgroundWorker正在做的事情。您可以采取的一种方法是为每个任务创建一个类。然后让该类执行任务。它将知道是否可以同时使用多个任务,并限制对每个任务的访问。因此:
public class LongUploadTask
{
private bool isRunning;
public void Execute()
{
if(!isRunning)
{
//etc...
}
}
}
注意,如果您是从多个线程访问它,那么我省略了锁定代码,我认为您不是。此外,如果要异步执行此操作,可以使用异步委托和手动重置事件来实现BackgroundWorker的操作。我也会这样做:)我也会这样做:)