欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#多線程ThreadPool線程池詳解

 更新時(shí)間:2021年07月11日 12:10:59   作者:linYongJie  
這篇文章主要為大家詳細(xì)介紹了C#多線程ThreadPool線程池的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

簡(jiǎn)單說(shuō)明一下:

線程池可以看做容納線程的容器;一個(gè)應(yīng)用程序最多只能有一個(gè)線程池;ThreadPool靜態(tài)類通過(guò)QueueUserWorkItem()方法將工作函數(shù)排入線程池; 每排入一個(gè)工作函數(shù),就相當(dāng)于請(qǐng)求創(chuàng)建一個(gè)線程;

線程池的作用:

1、線程池是為突然大量爆發(fā)的線程設(shè)計(jì)的,通過(guò)有限的幾個(gè)固定線程為大量的操作服務(wù),減少了創(chuàng)建和銷毀線程所需的時(shí)間,從而提高效率。
2、如果一個(gè)線程的時(shí)間非常長(zhǎng),就沒(méi)必要用線程池了(不是不能作長(zhǎng)時(shí)間操作,而是不宜。),況且我們還不能控制線程池中線程的開(kāi)始、掛起、和中止。

一些使用例子:

實(shí)例一:

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

namespace ThreadPoolDemo
{
 class Program
 {
  static void Main(string[] args)
  {
   System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(TestThreadPool),new string[] {"drsw","sfs","sdfs"});
   Console.ReadKey();
  }

  public static void TestThreadPool(object state)
  {
   string[] arry = state as string[]; //傳過(guò)來(lái)的參數(shù)值
   int workerThreads = 0;
   int completionPortThreads = 0;
   System.Threading.ThreadPool.GetMaxThreads(out workerThreads, out completionPortThreads);

   Console.Write(DateTime.Now.ToString() + "--" + arry[0] + "----workerThreads=" + workerThreads + "----completionPortThreads=" + completionPortThreads);
  }
 }
}

上述代碼運(yùn)行結(jié)果:

使用例子二:

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

namespace ThreadPoolDemo
{
 class Program
 {
  static void Main(string[] args)
  {
   System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(TestThreadPool));
   Console.ReadKey();
  }

  public static void TestThreadPool(object state)
  {
   int workerThreads = 0;
   int completionPortThreads = 0;
   System.Threading.ThreadPool.GetMaxThreads(out workerThreads, out completionPortThreads);

   Console.Write(DateTime.Now.ToString() + "----workerThreads=" + workerThreads + "----completionPortThreads=" + completionPortThreads);
  }
 }
}

上述代碼運(yùn)行結(jié)果:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論