个人知乎 ##基础四-多线程

来源:互联网 发布:nginx tomcat 配置ssl 编辑:程序博客网 时间:2024/05/01 08:52

个人知乎

基础四-多线程

ThreadLocal:线程本地变量,每个线程有一个副本线程安全变量:    AtomicInteger=new AtomicInteger(0);    BlockingQueue线程池:减少线程创建销毁开销
//单线程excutorExecutorService service=Excutors.newSingleThreadExecutor();service.submit(new Runnable(){    })//固定大小线程池ExecutorService service=Excutors.newFixedThreadPool(2);//当之前的提交执行完之后关闭线程池,不在接受新任务service.shutdown();//线程池内任务是否都结束service.isTerminated();
Future:     返回异步结果,阻塞等待返回值,timeout,获取线程异常
Future<Integer> future=service.submit(new    Callable<Integer>(){    @Override    public Integer call() throws Exception{        throw new Exception();        }    });service.shutdown();try{    //future.get()会等待线程结束后返回结果    System.out.println(future.get());}catch(Exception e){    e.printStackTrace();}