中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

彩票網(wǎng)站怎么做的營(yíng)銷模式

彩票網(wǎng)站怎么做的,營(yíng)銷模式,怎么看網(wǎng)站做沒(méi)做推廣,做網(wǎng)站要哪些人員什么是線程池,這個(gè)池字是什么 線程池,主要利用池化思想,線程池,字符串常量池等 為什么要有一個(gè)線程池? 正常線程的創(chuàng)建:1,手動(dòng)創(chuàng)建一個(gè)線程 2.給該線程分配任務(wù),線程執(zhí)行任務(wù) 3…
什么是線程池,這個(gè)池字是什么

線程池,主要利用池化思想,線程池,字符串常量池等

為什么要有一個(gè)線程池?

正常線程的創(chuàng)建:1,手動(dòng)創(chuàng)建一個(gè)線程

2.給該線程分配任務(wù),線程執(zhí)行任務(wù)

3.執(zhí)行完成,手動(dòng)釋放線程

有了線程池后,默認(rèn)線程數(shù)為3,最大線程數(shù)為5,等待隊(duì)列為6,在正常狀態(tài)下,我們只有三個(gè)默認(rèn)線程去處理任務(wù),流程是這樣的:

1.等待隊(duì)列按照順序分出任務(wù)給空閑線程,直到任務(wù)為空或者無(wú)空閑線程

2.線程執(zhí)行完任務(wù)后不會(huì)銷毀,而是繼續(xù)執(zhí)行任務(wù),如果此時(shí)沒(méi)有任務(wù),那么線程進(jìn)入空閑狀態(tài),不會(huì)被銷毀

如果任務(wù)變多,等待隊(duì)列滿呢

此時(shí)只有三個(gè)線程,但是任務(wù)隊(duì)列已經(jīng)滿了,證明在這個(gè)狀態(tài)下只有三個(gè)線程工作是不夠的,所以我們開(kāi)啟最大線程數(shù),全部開(kāi)始處理任務(wù),如果此時(shí)仍然想有任務(wù)進(jìn)入隊(duì)列,拒絕。

在將任務(wù)處理完畢后,隊(duì)列處于空閑或者任務(wù)很少的狀態(tài),銷毀線程,使當(dāng)前的線程數(shù)為默認(rèn)線程數(shù)

優(yōu)點(diǎn):

提高線程利用率

提高響應(yīng)速度(省去創(chuàng)建線程的時(shí)間了)

控制并發(fā)數(shù)(控制最大線程數(shù)量)

便于統(tǒng)一管理(都位于線程池中)

代碼實(shí)現(xiàn):
package org.my;import java.util.ArrayList;
import java.util.Collections;import java.util.LinkedList;import java.util.List;import java.util.concurrent.atomic.AtomicInteger;import java.util.concurrent.atomic.AtomicLong;import java.util.stream.Collectors;/*** 創(chuàng)建了num個(gè)線程* 每個(gè)線程做woker這個(gè)任務(wù)* 而woker這個(gè)任務(wù)是不斷取jobs中的一個(gè)任務(wù)進(jìn)行執(zhí)行* 直到j(luò)obs為空,然后進(jìn)入等待狀態(tài)* 如果jobs又重新exe添加了新job* jobs喚醒worker可以開(kāi)始運(yùn)行* 線程就可以繼續(xù)開(kāi)始工作。*/
public class ThreadPoolLearn313<Job extends Runnable> implements ThreadPool<Job> {//最大線程數(shù)量private static final int MAX_WORKER_NUMBERS = 10;//默認(rèn)線程數(shù)private static final int DEFAULT_WORKER_NUMBERS = 5;//最小線程數(shù)private static final int MIN_WORKER_NUMBERS = 1;//任務(wù)隊(duì)列private final LinkedList<Job> jobs =new LinkedList<>();private final List<Worker> workers = Collections.synchronizedList(new ArrayList<Worker>());//AtomicLong可理解為加了synchronized的longprivate AtomicLong threadNum = new AtomicLong();private  int workerNum = DEFAULT_WORKER_NUMBERS;public ThreadPoolLearn313() {initializeWorkers(DEFAULT_WORKER_NUMBERS);}private void initializeWorkers(int num) {for (int i = 0; i < num; i++) {Worker worker = new Worker();workers.add(worker);Thread thread = new Thread(worker,"ThreadPool-Worker-"+threadNum.incrementAndGet());thread.start();}}public ThreadPoolLearn313(int num) {this.workerNum = num>MAX_WORKER_NUMBERS?MAX_WORKER_NUMBERS:num<MIN_WORKER_NUMBERS?MIN_WORKER_NUMBERS:num;initializeWorkers(workerNum);}@Overridepublic void execute(Job job) {if (job!=null){synchronized (jobs){jobs.addLast(job);jobs.notify();}}}//關(guān)閉線程池@Overridepublic void shutdown() {for (Worker worker : workers) {worker.shutdown();}}@Overridepublic void addWorks(int num) {synchronized (jobs){if(num+workerNum>MAX_WORKER_NUMBERS){num =MAX_WORKER_NUMBERS-workerNum;}initializeWorkers(num);workerNum+=num;}}@Overridepublic void removeWorks(int num) {synchronized (jobs){if(num>=workerNum){throw new IllegalArgumentException("beyond workNum");}int count=0;while (count<num){Worker worker = workers.get(count);if(workers.remove(worker)){worker.shutdown();count++;}}workerNum-=count;}}@Overridepublic int getJobSize() {return jobs.size();}class Worker implements Runnable{private volatile  boolean running = true;@Overridepublic void run() {while (running){Job job =null;synchronized (jobs){while (jobs.isEmpty()){try {jobs.wait();} catch (InterruptedException e) {Thread.currentThread().interrupt();return;}}job = jobs.removeFirst();}if(job!=null){job.run();}}}public  void  shutdown(){running = false;}}
}

http://www.risenshineclean.com/news/9626.html

相關(guān)文章:

  • 凡科做網(wǎng)站不要錢(qián)seo搜索引擎入門(mén)教程
  • 做報(bào)名網(wǎng)站中國(guó)國(guó)家培訓(xùn)網(wǎng)是真的嗎
  • spd2007怎么創(chuàng)建網(wǎng)站品牌推廣的意義
  • 網(wǎng)站開(kāi)發(fā)代理報(bào)價(jià)表成都私人網(wǎng)站制作
  • 北京做網(wǎng)站在線html5制作網(wǎng)站
  • 泰安人力資源招聘長(zhǎng)沙靠譜關(guān)鍵詞優(yōu)化服務(wù)
  • 獨(dú)立設(shè)計(jì)購(gòu)物網(wǎng)站網(wǎng)絡(luò)推廣方案范例
  • 網(wǎng)站seo優(yōu)化關(guān)鍵詞國(guó)內(nèi)外搜索引擎大全
  • 學(xué)校網(wǎng)站設(shè)計(jì)的作用營(yíng)銷平臺(tái)建設(shè)
  • wordpress限制站點(diǎn)使用時(shí)間河南品牌網(wǎng)站建設(shè)
  • 最基本的網(wǎng)絡(luò)營(yíng)銷站點(diǎn)西安優(yōu)化網(wǎng)站公司
  • wordpress做的好的網(wǎng)站如何優(yōu)化網(wǎng)站快速排名
  • 萊山做網(wǎng)站的公司熊貓關(guān)鍵詞工具官網(wǎng)
  • 域名注冊(cè)后怎么建網(wǎng)站全網(wǎng)營(yíng)銷推廣案例
  • 商城網(wǎng)站都有什么功能模塊免費(fèi)網(wǎng)站推廣工具
  • 網(wǎng)站建設(shè)規(guī)劃書(shū)的空間seo軟文代寫(xiě)
  • 做網(wǎng)站學(xué)習(xí)營(yíng)銷策略范文
  • 長(zhǎng)沙企業(yè)網(wǎng)站建設(shè)服務(wù)怎么做網(wǎng)址
  • 淮北市住房和城鄉(xiāng)建設(shè)局網(wǎng)站出售外鏈
  • 門(mén)戶網(wǎng)站類型北京疫情消息1小時(shí)前
  • 手機(jī)網(wǎng)站制作費(fèi)用多少seo廠商
  • 黃驊市海邊深圳優(yōu)化排名公司
  • 網(wǎng)站制作服務(wù)公司婚戀網(wǎng)站排名前三
  • 怎樣做營(yíng)銷型網(wǎng)站推廣ppt抖音seo軟件
  • 網(wǎng)頁(yè)設(shè)計(jì)和網(wǎng)站開(kāi)發(fā)有什么區(qū)別百度競(jìng)價(jià)是什么工作
  • 如何給一個(gè)網(wǎng)站做定時(shí)的更新深圳網(wǎng)站制作推廣
  • 國(guó)內(nèi)永久在線免費(fèi)建站百度網(wǎng)盤(pán)資源搜索引擎入口
  • 深圳和海楓建設(shè)集團(tuán)有限公司網(wǎng)站百度推廣關(guān)鍵詞
  • node做網(wǎng)站優(yōu)勢(shì)東莞發(fā)布最新通告
  • 生產(chǎn)做網(wǎng)站表帶的制造廠家seo整站優(yōu)化系統(tǒng)