使用线程池需要注意的事项:

1、线程池中的所有线程都是后台线程 。 如果进程的所有前台线程都结束了,所有的后台线程就会停止。 不能把入池的线程改为前台线程 。
2、不能给入池的线程设置优先级或名称。
3、入池的线程只能用于时间较短的任务。 如果线程要一直运行就应使用Thread类创建一个线程。

 

=======================================================================================================

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace 线程开启方式_线程池
{
    class Program
    {
        static void Test(object o)
        {
            Console.WriteLine("线程开始"+Thread.CurrentThread.ManagedThreadId);//读出线程 的ID号
            Thread.Sleep(2000);//暂停2000毫秒
            Console.WriteLine("线程结束" + Thread.CurrentThread.ManagedThreadId);
        }
        static void Main(string[] args)
        {//连续创建几个线程:
            ThreadPool.QueueUserWorkItem(Test);
            ThreadPool.QueueUserWorkItem(Test);
            ThreadPool.QueueUserWorkItem(Test);
            ThreadPool.QueueUserWorkItem(Test);
            ThreadPool.QueueUserWorkItem(Test);
            ThreadPool.QueueUserWorkItem(Test);
            ThreadPool.QueueUserWorkItem(Test);
            Console.ReadKey();

        }
    }
}
 

 

运行结果:

 

posted on 2022-06-08 20:36  sbwynnss  阅读(197)  评论(0编辑  收藏  举报