delegate void UpdateLabel1Callback();
private void button1_Click(object sender, EventArgs e)
{
Thread newThread = new Thread(new ThreadStart(methodRun));
newThread.Start();
} public void methodRun()
{
if (this.InvokeRequired)
{
UpdateLabel1Callback d = new UpdateLabel1Callback(UpdateLabel1);
this.Invoke(d);
}
else
{
UpdateLabel1;
}
}
private void UpdateLabel1()
{
if (comboBox1.Text == "1")
{
label1.Text = "你选择的是1";
}
else { }
}
System.Diagnostics.Process.GetCurrentProcess().Threads.Count
这就是当前程序的线程总数,你试了没~~
int threadcnt=System.Diagnostics.Process.GetCurrentProcess().Threads.Count ;
MessageBox.Show(threadcnt.ToString());
这是怎么回事啊,?
我的程序如下: private void button1_Click(object sender, EventArgs e)
{
int threadcnt = System.Diagnostics.Process.GetCurrentProcess().Threads.Count;
MessageBox.Show(threadcnt.ToString()); }
我的程序如下: private void button1_Click(object sender, EventArgs e)
{
int threadcnt = System.Diagnostics.Process.GetCurrentProcess().Threads.Count;
MessageBox.Show(threadcnt.ToString()); }
并不是你不另外开启线程就没有其他的线程,.net每个Application都有一个ThreadPool(线程池),.net内部许多的操作都会使用线程,应用程序加载之后就会线程池中就会创建一些线程来等待调用。
例如异步操作,当你调用某个Begin*****的方法时,就会通过ThreadPool来执行,虽然你没有显示开启线程。