public partial class Form1 : Form
{
public int num;
public void BeginbbsUrlFind()
{ for (int j = 0; j < 500; j++)
{
System.Threading.Thread.Sleep(100);//没什么意思,单纯的执行延时
AddListUrl(j.ToString());
} }
private delegate void AddListUrlCallback(string url); private void AddListUrl(string url)
{
int p = num; if (this.InvokeRequired)
{
AddListUrlCallback method = new AddListUrlCallback(this.AddListUrl);
this.Invoke(method, new object[] { url });
}
else
{
listBox1.Items.Add(url.ToString()); //label1.Items.Add(url.ToString());
label1.Text = "线程" + p + "正在输出" + url;
}
} public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{ } private void button1_Click(object sender, EventArgs e)
{
this.listBox1.Items.Clear();
for (int i = 1; i <= 10; i++)
{//这里开启了10个线程
num = i;
ThreadStart start = new ThreadStart(BeginbbsUrlFind);
Thread thread = new Thread(start);
thread.Name = i.ToString(); thread.Start(); }
}
}
{
public int num;
public void BeginbbsUrlFind()
{ for (int j = 0; j < 500; j++)
{
System.Threading.Thread.Sleep(100);//没什么意思,单纯的执行延时
AddListUrl(j.ToString());
} }
private delegate void AddListUrlCallback(string url); private void AddListUrl(string url)
{
int p = num; if (this.InvokeRequired)
{
AddListUrlCallback method = new AddListUrlCallback(this.AddListUrl);
this.Invoke(method, new object[] { url });
}
else
{
listBox1.Items.Add(url.ToString()); //label1.Items.Add(url.ToString());
label1.Text = "线程" + p + "正在输出" + url;
}
} public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{ } private void button1_Click(object sender, EventArgs e)
{
this.listBox1.Items.Clear();
for (int i = 1; i <= 10; i++)
{//这里开启了10个线程
num = i;
ThreadStart start = new ThreadStart(BeginbbsUrlFind);
Thread thread = new Thread(start);
thread.Name = i.ToString(); thread.Start(); }
}
}
解决方案 »
- 关于service调试的问题,请解惑!
- 多表检索问题
- 100分请教 : 如何在运行时候更改水晶报表的模板文件 (net2003自带的) 在线等
- WinForm 中 自己写了一个简单的用户自定义控件,如何测试呢?
- 如何给予动态产生的控件鼠标事件?
- 我想在一个按钮事件中打开一个新的ie窗口,怎么办?
- c#中生成报表的问题,恳盼大虾指教
- 在Form1里放一个Timer=15秒并在初始化时就开始计时,经过5秒后把剩余的10秒传递到Form2上并继续计时直到定时器关闭,怎么实现????
- Spread的分页问题
- 在图形处理中,Alpha Channel的作用是什么,请高手解析一下!!!
- 按钮事件都成了....._Click_1(...)怎么办
- 请问C#正则表达式能不能匹配多个结果
这个代码涉及同步,在thread.Start();后加thread。JOIN()
或者使用同步上下文,或者使用EVENTWAITHANDLE LOCK等