線程池

1 初始化一些線程

  1. 管理者線程
    不處理任務
  2. 工作的線程
    只負責處理任務
    去任務隊列中領任務并處理
  3. 初始化的時候給定一個最小線程數

2 需要有一個管理者線程

  1. 每隔一段時間去判斷一次
  2. 什么時候需要創(chuàng)建
    指定一個峰值:工作的線程超過85%,工作/存活 > 0.85
    超過峰值:創(chuàng)建新的線程 每次創(chuàng)建一部分待用,按照一定的步長和比例去創(chuàng)建
  3. 什么時候需要銷毀
    工作的線程/存活的線程 < 20%,大部分都在歇著
    按照一定比例去殺死不干活的線程

3 線程池API

//創(chuàng)建線程池,池里最小3個線程,最大100個,隊列最大100
threadpool_t * thp = threadpool_create(3,100,100);

//向線程池添加任務;thp是線程池,process是回調函數(模擬處理業(yè)務),(void*)&num[i]是給process傳參
threadpool_add(thp, process, (void*) & num[i]);
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 我們在工作中或多或少都使用過線程池,但是為什么要使用線程池呢?從他的名字中我們就應該知道,線程池使用了一種池化技術...
    逅弈閱讀 4,753評論 4 57
  • 線程的兩種創(chuàng)建方式:繼承Thread類或者實現Runnable接口,Thread類本質上是實現了Runnable接...
    繁星追逐閱讀 715評論 0 1
  • “池塘邊的榕樹上,知了在聲聲叫著夏天…”廣播里放著羅大佑那首《童年》 一個穿著大褲衩的小毛頭,興奮地跑向大院的父親...
    _張益_閱讀 267評論 0 1
  • 程序誕生的那些事兒 先聊聊背景資料檔案.. 大約兩年前,我只身前往島國賺點外快。在那邊的派遣制度工作中,存在一個大...
    Wavky閱讀 532評論 1 1
  • 盛夏酷暑,一群孩童出了陳塘關在龍王廟玩耍,他們玩了一會覺得炎熱便到旁邊的九河灣洗澡。 小孩在水中嬉戲打鬧聲音傳到河...
    以上純屬瞎扯閱讀 925評論 0 2

友情鏈接更多精彩內容