久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

線程池深入(li)

 dtl樂學館 2017-02-17
用構(gòu)造方法創(chuàng)建線程池。corePoolSize(線程池的基本大?。寒斕峤灰粋€任務到線程池時,,線程池會創(chuàng)建一個線程來執(zhí)行任務,即使其他空閑的基本線程能夠執(zhí)行新任務也會創(chuàng)建線程,,等到需要執(zhí)行的任務數(shù)大于線程池基本大小時就不再創(chuàng)建,。如果調(diào)用了線程池的prestartAllCoreThreads方法,線程池會提前創(chuàng)建并啟動所有基本線程,。runnableTaskQueue(任務隊列):用于保存等待執(zhí)行的任務的阻塞隊列,。可以選擇以下幾個阻塞隊列:ArrayBlockingQueue:是一個基于數(shù)組結(jié)構(gòu)的有界阻塞隊列,,此隊列按 FIFO(先進先出)原則對元素進行排序,;LinkedBlockingQueue:一個基于鏈表結(jié)構(gòu)的阻塞隊列,,此隊列按FIFO (先進先出) 排序元素,吞吐量通常要高于ArrayBlockingQueue,。靜態(tài)工廠方法Executors.newFixedThreadPool()使用了這個隊列,。SynchronousQueue:一個不存儲元素的阻塞隊列。每個插入操作必須等到另一個線程調(diào)用移除操作,,否則插入操作一直處于阻塞狀態(tài),,吞吐量通常要高于LinkedBlockingQueue,靜態(tài)工廠方法,。Executors.newCachedThreadPool使用了這個隊列,。PriorityBlockingQueue:一個具有優(yōu)先級的無限阻塞隊列。maximumPoolSize(線程池最大大?。壕€程池允許創(chuàng)建的最大線程數(shù),。如果隊列滿了,并且已創(chuàng)建的線程數(shù)小于最大線程數(shù),,則線程池會再創(chuàng)建新的線程執(zhí)行任務,。值得注意的是如果使用了無界的任務隊列這個參數(shù)就沒什么效果。ThreadFactory:用于設置創(chuàng)建線程的工廠,,可以通過線程工廠給每個創(chuàng)建出來的線程設置更有意義的名字,。RejectedExecutionHandler(飽和策略):當隊列和線程池都滿了,說明線程池處于飽和狀態(tài),,那么必須采取一種策略處理提交的新任務,。這個策略默認情況下是AbortPolicy,表示無法處理新任務時拋出異常,。以下是JDK1.5提供的四種策略:AbortPolicy:直接拋出異常,;CallerRunsPolicy:只用調(diào)用者所在線程來運行任務;DiscardOldestPolicy:丟棄隊列里最近的一個任務,,并執(zhí)行當前任務,;DiscardPolicy:不處理,丟棄掉,;當然也可以根據(jù)應用場景需要來實現(xiàn)RejectedExecutionHandler接口自定義策略,。如記錄日志或持久化不能處理的任務;keepAliveTime(線程活動保持時間):線程池的工作線程空閑后,,保持存活的時間,。所以如果任務很多,并且每個任務執(zhí)行的時間比較短,,可以調(diào)大這個時間,,提高線程的利用率;TimeUnit(線程活動保持時間的單位):可選的單位有天(DAYS),小時(HOURS),,分鐘(MINUTES),,毫秒(MILLISECONDS),微秒(MICROSECONDS, 千分之一毫秒)和毫微秒(NANOSECONDS, 千分之一微秒),。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多