小白科普:线程和线程池

软件大师又要给弟子开小灶了,这次是线程和线程池。

软件大师正在闭目修炼, 最小的一名弟子慢慢走了进来。

1.png

2.png

3.png

4.png

5.png

6.png

7.png

8.png

线程池中的Worker线程:
public class WorkerThread extends Thread {
    private BlockingQueue<Task> taskQueue = null;
    private boolean       isStopped = false;
    
    //持有一个BlockingQueue的实例
    public WorkerThread(BlockingQueue<Task> queue){
        taskQueue = queue;
    }
    
    public void run(){
        while(!isStopped()){
            try{
                Task task = taskQueue.take();
                task.execute();
            } catch(Exception e){
                //log or otherwise report exception,
                //but keep pool thread alive.
            }
        }
    }
    ......略......
}

9.png

ExecutorService executorService = Executors.newFixedThreadPool(10);

executorService.execute(new Runnable() {
    public void run() {
        System.out.println("Asynchronous task");
    }
});

executorService.shutdown();

来源:码农翻身

未经允许请勿转载:程序喵 » 小白科普:线程和线程池

点  赞 (3) 打  赏
分享到: