1. 线程池SELLP(1000) 的作用, 既然有join又何必用SELLP呢?2. 线程池用不用加锁,,3. 多线程与线程池区别,一般多数用哪个更好点。。4. 用monitor类加锁,与Lock加锁区别在哪里?一般用哪个?5. 都说线程池是系统自动会管理,分配,执行的,那又何必还给它加锁或再设置呢?例:
static void DoWork(object state) //这里面的参数,指的是什么?
{
int threadNumber = (int)state;
Console.WriteLine("Thread {0}reporting for duty.", state);
Console.WriteLine();
} private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 20; i++)
{
//这里DoWork方法里带参数的,这里怎么不用给参数?
//创建20个线程,这时候20个线程都执行上面的方法吗?
ThreadPool.QueueUserWorkItem(new WaitCallback(DoWork), i);
}
}
在网上也看了些例子,但人和人写的例子,好像都不一样,有点蒙了.,对线程池之前也没接处过..所以在此请教..
static void DoWork(object state) //这里面的参数,指的是什么?
{
int threadNumber = (int)state;
Console.WriteLine("Thread {0}reporting for duty.", state);
Console.WriteLine();
} private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 20; i++)
{
//这里DoWork方法里带参数的,这里怎么不用给参数?
//创建20个线程,这时候20个线程都执行上面的方法吗?
ThreadPool.QueueUserWorkItem(new WaitCallback(DoWork), i);
}
}
在网上也看了些例子,但人和人写的例子,好像都不一样,有点蒙了.,对线程池之前也没接处过..所以在此请教..
使线程回到执行队列中,从而恢复线程的执行。
如果父线程先于子线程结束,那么子线程将在父线程结束的同时被迫结束。Thread.Join()方法使父线程等待,直到子线程结束。
“线程池”就是用来存放“线程”的对象池。
多线程,主要是想提高程序的可伸缩性。例如,有很多任务需要并行进行,那么可能需要多线程。
多线程实际上是一个假象
http://topic.csdn.net/u/20100716/14/C4C1C7F1-2695-4C44-86D6-BFD2FD56929F.html
每一个对象实例维持一个同步表,而每一个同步表都指向一个同步块,并且支持递归互斥体!