【发布时间】:2019-01-08 23:02:01
【问题描述】:
我想在 C# (WFA) 中创建一些机制,允许我在运行中向一个特定的单独线程添加一些函数。
public class MyClass
{
private Thread specialThread = new Thread();
MyClass()
{
regularMethod();
specialThread.AddNextJob( veryLongTimeConsumingMethod() );
//....
anotherUseMethod();
}
private void veryLongTimeConsumingMethod()
{
//...time consuming database, logic, etc...
this.UIThread(delegate ()
{
control1.Items = updatedItems;
});
}
private void anotherUseMethod()
{
//...another method wants to do a long job
specialThread.AddNextJob(veryLongTimeConsumingMethod());
}
}
在所有“工作”完成后,我希望“特殊线程”处于“待机”状态(等待另一个“工作”)。我需要按顺序完成所有“工作”。 有什么通用的方法可以实现吗?
【问题讨论】:
标签: c# multithreading winforms delegates task