查看了许多书籍,网上的博客,现在我来说一下有关于我对线程的详解,有不对的欢迎指正。 一. 线程的生命周期: 程序有自己的一个生命周期,线程也不例外,也有自己的生命周期。查看许多书籍或者网上资料,发现了一件很有趣的事情,那就是它们对线程的生命周期不是唯一。有两种或者以上的线程生命周期。 第一种线程生命 ...
分类:
编程语言 时间:
2019-08-25 15:47:06
阅读次数:
74
这周感觉自己什么也没做,好没有成就感。这周大部分的时间都用来学车了,自己也是东跑西跑的,然而车也没有学好,java也学习的少的可伶。自己总是感觉自己学车都要忙死了。哪有什么时间学习java啊,能学好车就不错了。其实在这一周即将过去后自己想了想,其实自己可以做到学车和学Java甚至做其他的事情可以兼顾 ...
分类:
其他好文 时间:
2019-08-25 11:41:27
阅读次数:
81
`GIL`是计算机语言解析器用于同步线程执行的一种**同步锁机制**。很多编程语言都有`GIL`,例如`Python`、`Ruby`。 ...
分类:
其他好文 时间:
2019-08-22 22:17:10
阅读次数:
147
public class CountDownLatchTest1 implements Runnable{ final AtomicInteger number = new AtomicInteger(); volatile boolean bol = false; @Override public... ...
分类:
编程语言 时间:
2019-08-20 18:27:16
阅读次数:
108
这是java高并发系列第29篇。 环境:jdk1.8。 本文内容 1. 介绍常见的限流算法 2. 通过控制最大并发数来进行限流 3. 通过漏桶算法来进行限流 4. 通过令牌桶算法来进行限流 5. 限流工具类RateLimiter 常见的限流的场景 1. 秒杀活动,数量有限,访问量巨大,为了防止系统宕 ...
分类:
编程语言 时间:
2019-08-20 17:01:47
阅读次数:
105
线程池关闭 shutdown 不接新任务,但会处理完正在处理和队列里的任务 shutdownNow 不接新任务,中断interrupt正在处理的任务(任务可中断才可以,否则不受影响),返回队列里的任务list awaitTermination 等待指定时间后,线程池关闭返回true,否则返回fals ...
分类:
编程语言 时间:
2019-08-17 19:55:05
阅读次数:
92
3.1 java内存模型的基础 3.1.1并发编程模型的两个关键问题 在并发编程中,需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指两个线程 之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。 在共享内存的并 ...
分类:
编程语言 时间:
2019-08-11 22:58:49
阅读次数:
121
普通内存模型: java线程内存 --> 操作系统内存 --> 硬盘 直接内存模型: java --> 操作系统内存 --> 硬盘 两者对比,少了一步:直接内存直接操作系统内存,少了java线程内存到操作系统内存拷贝的这一步,所以提升了效率。 内存映射文件: ...
分类:
其他好文 时间:
2019-08-09 01:42:54
阅读次数:
113
通用线程模型 通用线程模型 在很多研发当中,实际应用是基于一个理论再进行优化的。所以,在了解JVM规范中的Java线程的生命周期之前,我们可以先了解通用的线程生命周期,这有助于我们后续对JVM线程生命周期的理解。 首先,通用的线程生命周期有五种,分别是:新建状态(NEW)、可运行状态(RUNNABL ...
分类:
编程语言 时间:
2019-08-07 22:16:34
阅读次数:
104
缺少更多功能,如更多执行,定期执行,线程中断 ...
分类:
编程语言 时间:
2019-08-07 20:55:43
阅读次数:
106