Welcome everyone

标签:多线程

java

wait & notify

wait & notify
wait & notify   之前学习过wait和notify,但是总是理不清楚,不太明白,今天整理一篇博客, 争取把wait和notify搞明白。   wait和notify是Object的方法,而不是Thread的方法。 Object的wait...

汪明鑫 9个月前 (01-12) 78浏览 2评论 0喜欢

java

jstack的使用

jstack的使用
多个线程争抢同一个monitor的lock会陷入阻塞。   看代码: /** * @author: wang ming xin * @create: 2019-01-12 11:00 */ public class ThisMonitor { p...

汪明鑫 9个月前 (01-12) 106浏览 0评论 0喜欢

java

多线程概述

多线程概述
如果某个支持两个或者多个动作同时存在,那么这个系统就是并发系统;如果某个支持两个或者多个动作同时执行,那么这个系统就是并行系统。 在并发程序中可以同时拥有两个或者多个线程。如果程序在单核处理器上运行,那么这两个线程将会交替的换入或换出内存,这些线程是同时存在的。 如果程序能够并行...

汪明鑫 1年前 (2018-09-04) 54浏览 0评论 0喜欢

java

线程池

线程池
任务数量多时,用线程池更快 先看下Executor整体架构 那么Executors是什么? 类比Array、Arrays,Collection、Collections -s表示工具类 用底层,看顶层,想要用一个框构的底层、实现类,先要看其最顶层 public i...

汪明鑫 1年前 (2018-08-28) 78浏览 0评论 0喜欢

java

volatile

volatile
volatile保证可见性不能保证原子性   《深入理解java虚拟机》中: /** * volatile变量自增运算测试 * * @author zzm */ public class VolatileTest { public...

汪明鑫 1年前 (2018-08-28) 84浏览 0评论 0喜欢

java

Lock

Lock
Lock更灵活,功能更丰富 public interface Lock { void lock(); void lockInterruptibly() throws InterruptedException; boolean tryLock(); ...

汪明鑫 1年前 (2018-08-28) 94浏览 0评论 0喜欢

java

synchronized

synchronized
synchronized是java内置关键字,解决共享数据冲突,是一个可重入锁 synchronized( 需要一个任意的对象(锁) ){ 代码块中放操作共享数据的代码 多个线程不能同时进行的部分 } 锁就是一个标记 如果用的不是一把锁,则两...

汪明鑫 1年前 (2018-08-28) 100浏览 0评论 0喜欢

java

可重入锁

可重入锁
设计一个不可重入锁 public class Lock{ private boolean isLocked = false; public synchronized void lock() throws InterruptedException{ ...

汪明鑫 1年前 (2018-08-28) 68浏览 0评论 0喜欢

java

CAS

CAS
CAS    Compare and Swap   其实 CAS 也算是有锁操作,只不过是由 CPU 来触发,比 synchronized 性能 好的多。CAS 的关键点在于,系统在硬件层面保证了比较并交换操作的原子性, 处理器使用基于对缓存加锁或总线加锁的方式来实现多...

汪明鑫 1年前 (2018-08-28) 87浏览 0评论 0喜欢