
Java并发编程
今天的砖头很烫手
躺着多好啊
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《Java并发编程之美》学习笔记(二):基础知识
什么是并发编程? 并发,同一时间段内多个任务同时都在执行,并且都没有执行结束。并行,单位时间内多个任务同时执行。由于一个时间段是由多个单位时间累积而成,所以说,并发的多个任务在单位时间内不一定同时执行。 在单核CPU时代,多任务是并发执行的,线程都有CPU分配的时间片,同一时间单个cpu只能执行一个任务,其他任务处于挂起状态。并且线程间的频繁上下文切换会带来额外的性能开销。 在多核CP...原创 2019-12-28 17:57:33 · 301 阅读 · 0 评论 -
《Java并发编程之美》学习笔记(一):基础知识
什么是进程? 进程是系统进行资源分配和调度的基本单位。一个进程中至少有一个线程,进程中的多个线程共享进程的资源。 什么是线程? 线程是进程中的一个实体,操作系统在分配资源时是把资源分配给进程的, 但是CPU 资源比较特殊, 它是被分配到线程的, 因为真正要占用CPU 运行的是线程, 所以也说线程是CPU 分配的基本单位。 进程与线程的关系如下图: 1....原创 2019-12-28 16:01:20 · 277 阅读 · 0 评论 -
Java并发编程中的虚假唤醒
最近在看《Java并发编程之美》这本书,书中很多地方会特意强调:用while()循环代替if(),为什么呢?据说是为了预防并发中的虚假唤醒!!! 什么是虚假唤醒? 套用书中的话就是:一个线程可以从挂起状态变为可运行状态(也就是被唤醒),但是如果一个挂起的线程,没有被其他线程调用notify()、notifyAll()方法进行通知,或者被中断(interrupt),或者等待超时【所有你能想...原创 2020-01-09 12:00:39 · 423 阅读 · 0 评论