zoukankan      html  css  js  c++  java
  • JAVA中线程池的简单使用

    比如现在有10个线程,但每次只想运行3个线程,当这3个线程中的任何一个运行完后,第4个线程接着补上。这种情况可以使用线程池来解决,线程池用起来也相当的简单,不信,你看:

    package com.demo;
    
    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    
    public class ThreadPool {    
        
        private int threadCount = 10;
        
        private int threadpoolCount = 3;
        
        public void threadPoolControl() {        
            ThreadObject[] et = new ThreadObject[threadCount];        
            ExecutorService service = Executors.newFixedThreadPool(threadpoolCount);
            Collection<ThreadObject> c = new ArrayList<ThreadObject>();
            for (int i = 0; i < threadCount; i++) {    
                et[i] = new ThreadObject();            
                c.add(et[i]);
            }
            try {
                service.invokeAll(c);
                service.shutdown();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        
    }
    

     再加上ThreadObject类,这个类主要是线程的具体实现方法:

    package com.demo;
    
    import java.util.concurrent.Callable;
    
    public class ThreadObject implements Callable<Object>{		
    	
    
    	public Object call() throws Exception {
    		//do something......
    		return null;
    	}
    
    		
    	
    }
    
  • 相关阅读:
    java8时间处理
    HttpServletRequest
    Elasticsearch简介
    springCloud-Alibaba--Sentinel
    Nacos集群部署:
    nginx安装配置
    hibernate 嵌套事务
    linux下cmake安装mysql 源码
    linux下中文乱码问题解决
    tomcat quartz 被触发两次
  • 原文地址:https://www.cnblogs.com/zhangfei/p/4397536.html
Copyright © 2011-2022 走看看