自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺析多任務(wù)多線程(隊(duì)列)示例代碼

開發(fā) 開發(fā)工具
本文將簡(jiǎn)單分析多任務(wù)多線程(隊(duì)列)示例代碼,其中包括執(zhí)行過程中的八步,希望本文對(duì)大家有所幫助。

前幾天需要使用一個(gè)多線程來完成工作,情況如下:

有一個(gè)列表,有N個(gè)任務(wù),現(xiàn)在需要M個(gè)線程去實(shí)現(xiàn)它,不懂代碼,沒有辦法完成,找同事完成了。

執(zhí)行的過程如下:

1、生成N個(gè)任務(wù)的隊(duì)列(此隊(duì)列為基類List,被封裝過,提供一個(gè)GetNext方法)

2、生成M個(gè)線程的數(shù)組(線程是經(jīng)過封裝的)

3、啟動(dòng)各個(gè)線程,

4、某一個(gè)線程完成,通知主線程完成了,并去調(diào)用隊(duì)列的GetNext方法,獲取下一個(gè)任務(wù),直到所有的完成。GetNext方法有Lock,防止任務(wù)分配重復(fù)。

5、運(yùn)行的過程當(dāng)中,可以調(diào)用隊(duì)列的Add方法,動(dòng)態(tài)增加任務(wù)。目前代碼中沒有寫減少任務(wù),加上去是非常簡(jiǎn)單的。

6、目前沒有做的,就是動(dòng)態(tài)增減線程的數(shù)量,但也不難,比如給封裝過的線程增加Remove方法,在線程內(nèi)部從最后一個(gè)線程往前遍歷,需要停止幾個(gè)就Stop幾個(gè)。

7、此方法比較適合隊(duì)列管理的情況,比如像下載軟件flashget,迅雷等

8、順便BS一下很多寫blog的人,受中國(guó)應(yīng)試教育的影響,很多是把理論搬上來,不知道想表達(dá)什么,cnblogs是該需要分成幾塊了,資料,心得,論壇,該去哪里去哪里,不免一些人說首頁發(fā)的文章,自己想看的太少了。

【編輯推薦】

  1. 淺談C#多線程與UI響應(yīng)
  2. Servlet多線程的相關(guān)問題淺析
  3. 用Java多線程實(shí)現(xiàn)無阻塞讀取遠(yuǎn)程文件
  4. 深入淺出Java多線程程序設(shè)計(jì)
  5. 多線程技術(shù)在J2ME中的應(yīng)用總結(jié)
責(zé)任編輯:彭凡 來源: cnblogs
相關(guān)推薦

2011-05-31 13:29:40

Android 多線程

2009-07-02 13:29:38

JSP技術(shù)

2010-02-01 17:25:09

Python多線程

2010-01-08 10:48:05

VB.NET多線程

2009-08-12 18:04:44

編寫C#多線程

2022-04-14 11:44:25

LiteOS線程鴻蒙

2010-03-03 17:44:07

Python多線程

2011-04-08 10:36:38

MFC多線程

2009-07-03 17:18:34

Servlet多線程

2023-08-02 09:29:40

任務(wù)池TaskPool

2023-08-01 16:35:48

鴻蒙ArkUI應(yīng)用開發(fā)

2010-01-21 11:23:49

Linux多線程同步消息隊(duì)列

2010-02-26 17:47:07

2011-08-29 16:16:22

Lua函數(shù)多線程

2015-11-18 18:56:36

Java多線程處理

2011-06-24 11:12:39

Qt 多線程 線程

2014-05-09 12:59:26

iOS移動(dòng)互聯(lián)網(wǎng)

2011-06-24 11:03:31

Qt 多線程 線程

2013-08-13 14:39:29

多任務(wù)下載

2009-04-27 13:15:04

多線程方法run()
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)