zoukankan      html  css  js  c++  java
  • java--ThreadPool线程池简单用法

    package com.threadPool;
    
    import java.util.concurrent.ArrayBlockingQueue;
    import java.util.concurrent.ThreadPoolExecutor;
    import java.util.concurrent.TimeUnit;
    
    public class TestThreadPool {
    	private static int produceTaskSleepTime = 0;
    
    	private static int produceTaskMaxNumber = 100000;
    
    	public static void main(String[] args) {
    
    		// 构造一个线程池
    		ThreadPoolExecutor threadPool = new ThreadPoolExecutor(6, 100, 3,
    				TimeUnit.SECONDS, new ArrayBlockingQueue<Runnable>(3),
    				new ThreadPoolExecutor.DiscardOldestPolicy());
    
    		for (int i = 1; i <= produceTaskMaxNumber; i++) {
    			try {
    				String task = "task@ " + i;
    				System.out.println("创建任务并提交到线程池中:" + task);
    				threadPool.execute(new ThreadPoolTask(task));
    
    				Thread.sleep(produceTaskSleepTime);
    			} catch (Exception e) {
    				e.printStackTrace();
    			}
    		}
    	}
    }
    
    package com.threadPool;
    
    import java.io.Serializable;
    
    public class ThreadPoolTask implements Runnable, Serializable {
    	private Object attachData;
    
    	ThreadPoolTask(Object tasks) {
    		this.attachData = tasks;
    	}
    
    	public void run() {
    
    		System.out.println("开始执行任务:" + attachData);
    
    		attachData = null;
    	}
    
    	public Object getTask() {
    		return this.attachData;
    	}
    }
    



    输出结果:

    开始执行任务:task@ 97856
    开始执行任务:task@ 97857
    创建任务并提交到线程池中:task@ 97858
    创建任务并提交到线程池中:task@ 97859
    开始执行任务:task@ 97858
    开始执行任务:task@ 97859
    创建任务并提交到线程池中:task@ 97860
    .......
    


     参考网站: http://my.eoe.cn/niunaixiaoshu/archive/4111.html

  • 相关阅读:
    BZOJ1066: [SCOI2007]蜥蜴
    BZOJ1934: [Shoi2007]Vote 善意的投票
    BZOJ2321: [BeiJing2011集训]星器
    BZOJ1076: [SCOI2008]奖励关
    BZOJ1821: [JSOI2010]Group 部落划分 Group
    BZOJ3038: 上帝造题的七分钟2
    NOIP2017滚粗记
    BZOJ1087: [SCOI2005]互不侵犯King
    BZOJ1085: [SCOI2005]骑士精神
    BZOJ1295: [SCOI2009]最长距离
  • 原文地址:https://www.cnblogs.com/riskyer/p/3310526.html
Copyright © 2011-2022 走看看