博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 线程池执行操作例子
阅读量:6825 次
发布时间:2019-06-26

本文共 852 字,大约阅读时间需要 2 分钟。

 

 

public partial class Form1 : Form

{
CountdownEvent hander = new CountdownEvent(10);

public static object lock_action = new object();

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)

{
for (int i = 0; i < 10; i++)
{
ThreadPool.QueueUserWorkItem(new WaitCallback(Run1), i);
}
textBox1.Invoke(new Action(() =>
{
textBox1.AppendText("按钮1执行完毕".Log());
}));
}
private void button2_Click(object sender, EventArgs e)
{
//ThreadPool.SetMaxThreads(10, 30);
for (int i = 0; i < 10; i++)
{
ThreadPool.QueueUserWorkItem(new WaitCallback(Run2), i);
}
hander.Wait();
textBox1.AppendText("按钮2执行完毕".Log());
}

private void Run1(object str)

{
Thread.Sleep(1000);
textBox1.AppendText(str.ToString().Log());
}
private void Run2(object str)
{
Thread.Sleep(1000);
textBox1.AppendText(str.ToString().Log());
hander.Signal();
}

}

转载地址:http://wyrzl.baihongyu.com/

你可能感兴趣的文章