thread
文章平均质量分 67
时间仓
这个作者很懒,什么都没留下…
展开
-
并发请求等待结果都返回后处理之—— CompletableFuture.allOf()
描述多个IO请求,并发读取数据后,等待所有的请求返回后,对结果统一处理示例模拟三个请求任务,阻塞等待随机时间import com.google.common.util.concurrent.ThreadFactoryBuilder;import java.time.Instant;import java.time.temporal.ChronoUnit;import java.util.Random;import java.util.concurrent.*;public clas原创 2021-04-16 14:55:47 · 3039 阅读 · 0 评论 -
多线程-开启3个线程,循环打印输出结果ABC
** 问题: 开启3个线程,循环打印输出结果ABC (必须按照ABC的顺序显示) 10次 **结果:Thread-0 AThread-1 BThread-2 CThread-0 AThread-1 BThread-2 C文章目录SemaphoreSynchronizedLock ConditionLock Multi ConditionAtomicIntegerSemaphore private static void testPrintABC5() { Prin原创 2021-03-28 21:17:57 · 371 阅读 · 0 评论 -
面试必问-线程池设置多少合适
CPU密集型任务 和 IO密集型任务线程池大小的设置原则, 阻抗原则线程数 = CPU核数 * (总运行时间/CPU繁忙时间)原创 2021-03-24 23:44:02 · 1053 阅读 · 0 评论 -
JVM 常用调优定位问题命令
文章目录jpsjpsjps -ljinfojinfo -flags 12368jinfo -sysprops 12368jstatjstat -class 12368 3000 3 类加载统计jstat -compiler 12368 3000 3 编译统计jstat -gc 12368 3000 3 垃圾回收统计jstat -gccapacity 12368 3000 3 堆内存统计jstat -gccause 12368 3000 3 显示垃圾回收的相关信息jstat -gcnew 12368 300原创 2021-03-21 23:23:52 · 959 阅读 · 9 评论 -
多线程——线程的常用方法
文章目录sleepyieldyield VS sleeppriority线程的上下文类加载器interrupt调用如下方法会使当前线程进入阻塞状态join如何关闭一个线程sleepsleep是一个静态方法,只有两个重载方法,其中一个传入毫秒数, 另一个既需要毫秒数也需要纳秒数。public static native void sleep(long millis) throws InterruptedException;public static void sleep(long millis,原创 2021-03-21 18:53:05 · 144 阅读 · 4 评论 -
多线程——线程的生命周期
文章目录线程的生命周期NewRunnableRunningBlockedTerminated线程的生命周期New当我们使用关键字new 创建一个线程对象时,此时它并不是处于执行状态,因为并没有调用start()启动该线程,这时只是Thread对象的的状态(New), 也即没有start之前, 该线程根本不存在,与我们用new 创建一个普通对象没有什么区别。New 状态通过start方法进入Runnable状态Runnable调用了线程对象的start方法,线程状态此时进入Runnable原创 2021-03-17 23:50:31 · 387 阅读 · 8 评论 -
并发编程中的挑战
并发编程的目的是为了让程序运行得更快,但是,并不是启动更多的线程就能让程序最大限度地并发执行。在进行并发编程时,如果希望通过多线程执行任务让程序运行得更快,会面临非常多的挑战。一、上下文的切换1.1 什么是上下文切换即使是单核处理器也支持多线程执行代码,CPU通过给每个线程分配CPU时间片来实现这个机制。时间片是CPU分配给各个线程的时间,因为时间片非常短,所以CPU通过不停地切换线程...原创 2019-05-07 23:23:12 · 134 阅读 · 0 评论