1. 程式人生 > >手寫線程池 (一)

手寫線程池 (一)

手寫 http oid pre encode map auth 任務 容器

前言準備

1.jdk線程池的使用:https://www.cnblogs.com/jtfr/p/10187419.html

2.線程池核心:線程的復用。

  運行的線程是線程池的核心,被添加的任務需要實現過Runnable接口,主要是保證有run方法。運行時候 對象.run() 。

一、手寫線程池註意要點

1.線程池需要添加任務,任務是放置在一個隊列(FIFO)當中,具體只要保證FIFO,或優先級保證(Map集合)先執行。
2.線程池運行,需要一個容器存放創建的線程,可數組或集合,可以自己設計思考。
3.編寫:先抽象寫接口,後編碼寫實現類

二、線程池實現

1.編寫添加任務和銷毀任務的接口

 1
package com.jtfr.MyThreadPool; 2 3 import java.util.List; 4 5 /** 6 * 線程池接口 7 * @author 陳康明 qq:1123181523 8 * @date 2019年2月3日 9 * ENCODEING = "UTF-8" 10 */ 11 public interface IThreadPool { 12 13 /** 14 * 添加單個任務 15 */ 16 void executor(Runnable task); 17 18
/** 19 * 添加多個任務 20 */ 21 void executor(List<Runnable> task); 22 23 /** 24 * 銷毀工作線程,保留核心線程。 25 */ 26 void destory(int core); 27 28 /** 29 * 銷毀線程池 30 */ 31 void destory(); 32 }

2.

手寫線程池 (一)