线程相关
线程相关,单线程,线程池,线程组...
yunzhonghefei
这个作者很懒,什么都没留下…
展开
-
线程相关 之 FutureTask用法分析【7】
有时候我们需要获取到线程执行完之后,返回的结果, Thread thread = new Thread("JoinUse"){ @Override public void run() { super.run(); try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("runo.原创 2021-02-03 10:52:56 · 190 阅读 · 0 评论 -
线程相关 之 Thread.join()用法分析【6】
当子线程执行比较耗时,而后续代码的执行又需要等待线程运行完,这样的场景下,该如何处理?1、可以使用sleep()进行线程等待,缺点:线程等待时间不精准2、使用FutureTask循环等待线程执行完成之后,再进行后续处理3、使用join(),可以精确的等待到线程执行完成,源码注释:wait thread to die本篇先看使用join()来控制顺序执行的例子: public static void useJoin() throws Exception{ Thread thread原创 2021-02-03 10:46:47 · 107 阅读 · 0 评论 -
线程相关 之 Thread源码解析【5】
类简介:/** * A <i>thread</i> is a thread of execution in a program. The Java * Virtual Machine allows an application to have multiple threads of * execution running concurrently. * <p> * 每个线程都有优先级,高优先级比低优先级优先运行。每个线程都可能被标记为守护线程。一个线程创建原创 2021-02-02 17:59:20 · 289 阅读 · 0 评论 -
线程相关 之 Executors源码解析【4】
创建多线程,除了使用 ThreadPoolExecute 来自定义创建之外,还可以使用JDK提供的几个接口来进行创建,这几个接口均在Executors类中,分别如下:Executors.newFixedThreadPool();Executors.newWorkStealingPool();Executors.newSingleThreadExecutor();Executors.newCachedThreadPool();Executors.newSingleThreadScheduledE原创 2021-01-29 16:21:23 · 147 阅读 · 0 评论 -
线程相关 之 ThreadPoolExecutor简单用法【3】
1、介绍了基于ThreadPoolExecutor,增加前置,后置以及线程结束后处理的接口扩展。2、参数的用法,含义,以及触发拒绝策略的机制和条件。package com.geor.collection;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;import java.util.concurrent.RejectedExecutionHandler;im原创 2021-01-29 11:55:08 · 151 阅读 · 0 评论 -
线程相关 之 ThreadPoolExecutor源码解析【2】
先看类简介: An {@link ExecutorService} that executes each submitted task using one of possibly several pooled threads, normally configured using {@link Executors} factory methods. 线程池主要解决两个问题:处理大量任务时有更好的表现;提供很多可调节的参数以及扩展钩子,上下文切换更有用。 程序员更偏向使用: Executor原创 2021-01-28 18:05:59 · 291 阅读 · 0 评论 -
线程相关 之 创建单线程的三种方法【1】
创建单线程有3种方法,分别为:1、继承 Thread2、实现 Runable 接口3、实现 Callable 接口,实现接口的call()方法,通过FutureTask可以获取到线程执行完成之后返回的结果代码如下:import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTask;public原创 2021-01-27 14:43:34 · 917 阅读 · 0 评论