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

C#多線程之線程池(ThreadPool)

 更新時(shí)間:2022年04月20日 10:01:22   作者:農(nóng)碼一生  
這篇文章介紹了C#多線程之線程池(ThreadPool)的用法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一、簡(jiǎn)介

前面介紹了平時(shí)用到的大多數(shù)的多線程的例子,但在實(shí)際開發(fā)中使用的線程往往是大量的和更為復(fù)雜的,這時(shí),每次都創(chuàng)建線程、啟動(dòng)線程。從性能上來講,這樣做并不理想(因?yàn)槊渴褂靡粋€(gè)線程就要?jiǎng)?chuàng)建一個(gè),需要占用系統(tǒng)開銷);從操作上來講,每次都要啟動(dòng),比較麻煩。為此引入的線程池的概念。

好處:

  • 1.減少在創(chuàng)建和銷毀線程上所花的時(shí)間以及系統(tǒng)資源的開銷
  • 2.如不使用線程池,有可能造成系統(tǒng)創(chuàng)建大量線程而導(dǎo)致消耗完系統(tǒng)內(nèi)存以及”過度切換”。

在什么情況下使用線程池?

  • 1.單個(gè)任務(wù)處理的時(shí)間比較短
  • 2.需要處理的任務(wù)的數(shù)量大

線程池最多管理線程數(shù)量=“處理器數(shù) * 250”。也就是說,如果您的機(jī)器為2個(gè)2核CPU,那么CLR線程池的容量默認(rèn)上限便是1000。通過線程池創(chuàng)建的線程默認(rèn)為后臺(tái)線程,優(yōu)先級(jí)默認(rèn)為Normal。

二、代碼

案例一:

    class Program
    {
        static void Main(string[] args)
        {
            ThreadPool.QueueUserWorkItem(new WaitCallback(ThreadMethod1), new object());    //參數(shù)可選
            Console.ReadKey();
        }

        public static void ThreadMethod1(object val)
        {
            for (int i = 0; i <= 10000; i++)
            {
                if (i % 1000 == 0)
                {
                    if (string.IsNullOrEmpty(Thread.CurrentThread.Name) )
                    {
                        Thread.CurrentThread.Name = "Thred_" + i;
                    }
                    Console.WriteLine("循環(huán){0}次的線程的線程名稱為:{1}",i,Thread.CurrentThread.Name);
                }
            }
        }
    }

運(yùn)行結(jié)果:

案例二:

    class Program
    {
        public static void Main()
        {
            // Queue the task.
            ThreadPool.QueueUserWorkItem(ThreadProc);
            Console.WriteLine("Main thread does some work, then sleeps.");
            Thread.Sleep(1000);

            Console.WriteLine("Main thread exits.");
            Console.ReadKey();
        }

        // This thread procedure performs the task.
        static void ThreadProc(Object stateInfo)
        {
            // No state object was passed to QueueUserWorkItem, so stateInfo is null.
            Console.WriteLine("Hello from the thread pool.");
        }
    }

運(yùn)行結(jié)果:

到此這篇關(guān)于C#多線程之線程池(ThreadPool)的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C#計(jì)算矩陣的秩實(shí)例分析

    C#計(jì)算矩陣的秩實(shí)例分析

    這篇文章主要介紹了C#計(jì)算矩陣的秩實(shí)現(xiàn)方法,以實(shí)例形式較為詳細(xì)的分析了C#計(jì)算矩陣秩的原理與實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-08-08
  • 基于WPF實(shí)現(xiàn)步驟控件的示例代碼

    基于WPF實(shí)現(xiàn)步驟控件的示例代碼

    這篇文章主要為大家詳細(xì)介紹了WPF實(shí)現(xiàn)簡(jiǎn)單的步驟控件,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,感興趣的小伙伴可以了解一下
    2023-01-01
  • Unity腳本自動(dòng)添加頭部注釋的全過程

    Unity腳本自動(dòng)添加頭部注釋的全過程

    在一些公司需要代碼嚴(yán)格的管理,有時(shí)候會(huì)需要用到每個(gè)腳本的頭部做一些介紹,所以下面這篇文章主要給大家介紹了關(guān)于Unity腳本自動(dòng)添加頭部注釋的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • C#調(diào)用SQL?Server中有參數(shù)的存儲(chǔ)過程

    C#調(diào)用SQL?Server中有參數(shù)的存儲(chǔ)過程

    這篇文章介紹了C#調(diào)用SQL?Server中有參數(shù)存儲(chǔ)過程的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • C#提取網(wǎng)頁(yè)中超鏈接link和text部分的方法

    C#提取網(wǎng)頁(yè)中超鏈接link和text部分的方法

    這篇文章主要介紹了C#提取網(wǎng)頁(yè)中超鏈接link和text部分的方法,涉及C#正則表達(dá)式及字符串操作相關(guān)技巧,需要的朋友可以參考下
    2016-02-02
  • C#/VB.NET實(shí)現(xiàn)將XML轉(zhuǎn)為PDF

    C#/VB.NET實(shí)現(xiàn)將XML轉(zhuǎn)為PDF

    可擴(kuò)展標(biāo)記語言(XML)文件是一種標(biāo)準(zhǔn)的文本文件,它使用特定的標(biāo)記來描述文檔的結(jié)構(gòu)以及其他特性。本文將利用C#實(shí)現(xiàn)XML文件轉(zhuǎn)PDF?,需要的可以參考一下
    2022-03-03
  • WinForm中DefWndProc、WndProc與IMessageFilter的區(qū)別

    WinForm中DefWndProc、WndProc與IMessageFilter的區(qū)別

    這篇文章主要介紹了WinForm中DefWndProc、WndProc與IMessageFilter的區(qū)別,較為詳細(xì)的分析了WinForm的消息處理機(jī)制,需要的朋友可以參考下
    2014-08-08
  • C#使用NPOI導(dǎo)出Excel類封裝

    C#使用NPOI導(dǎo)出Excel類封裝

    這篇文章主要為大家詳細(xì)介紹了C#使用NPOI導(dǎo)出Excel類封裝,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C#中事件處理的個(gè)人體會(huì)

    C#中事件處理的個(gè)人體會(huì)

    C#中事件處理的個(gè)人體會(huì)...
    2006-12-12
  • unity AudioSource播放完聲音后要執(zhí)行的函數(shù)或條件操作

    unity AudioSource播放完聲音后要執(zhí)行的函數(shù)或條件操作

    這篇文章主要介紹了unity AudioSource播放完聲音后要執(zhí)行的函數(shù)或條件操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04

最新評(píng)論