并发编程
文章平均质量分 94
冬瓜闯世界
嘎嘎嘎
展开
-
JUC并发编程(四)----ThreadLocalRandom类原理剖析
Random类及其局限性 在JDK 7之前包括现在,java.util.Random都是使用比较广泛的随机数生成工具类,而且java.lang.Math中的随机数生成也使用的是java.util.Random的实例。 下面先看看java. util.Random的使用方法。 public class RandomTest { public static void main(String[] args) { //创建一个默认种子的随机数生成器 Random random原创 2021-01-20 13:45:09 · 345 阅读 · 0 评论 -
JUC并发编程(三)----并发编程基础理论知识
什么是多线程并发编程 并发和并行的概念: 并发是指同一个时间段内多个任务同时都在执行,并且都没有执行结束。 并行是说在单位时间内多个任务同时在执行。 并发任务强调在一个时间段内同时执行,而一个时间段由多个单位时间累积而成,所以说并发的多个任务在单位时间内不一定同时在执行。 在单CPU的时代多个任务都是并发执行的,这是因为单个CPU同时只能执行一个任务。在单CPU时代多任务是共享一个CPU的,当一个任务占用CPU运行时,其他任务就会被挂起,当占用CPU的任务时间片用完后,会把CPU让给其他任务来使用,在单C原创 2021-01-19 18:14:16 · 331 阅读 · 0 评论 -
JUC并发编程(二)---- ThreadLocal
ThreadLocal 多线程访问同一个共享变量时特别容易出现并发问题,特别是在多个线程需要对一个共享变量进行写入时。为了保证线程安全,一般使用者在访问共享变量时需要进行适当的同步,如下图所示: 这时候ThreadLocal就出来了。当创建一个变量后,每个线程对其进行访问的时候访问的是自己线程的变量。 也就是如果你创建了一个ThreadLocal变量,那么访问这个变量的每个线程都会有这个变量的一个本地副本。当多个线程操作这个变量时,实际操作的是自己本地内存里面的变量,从而避免了线程安全问题。创建一个Thr原创 2021-01-18 16:35:35 · 292 阅读 · 0 评论