并发编程
文章平均质量分 56
小曹的blog
这个作者很懒,什么都没留下…
展开
-
synchronized和Lock比较
Synchronized和Lock都是可重入锁,但synchronized不是可中断锁,而Lock是可中断锁。 Synchronized底层:使用指令码方式来控制锁的,映射成字节码指令就是增加两个指令:monitorenter和monitorexit。当线程执行遇到monitorenter指令时会尝试获取内置锁,如果获取锁则锁计数器加1,如果获取锁则阻塞;当线程遇到monitorxit指令是则锁计数器-1,如果计数器为0则释放锁。 Lock的底层:是CAS乐观锁,依赖AbstractQueued..原创 2021-08-29 15:19:01 · 344 阅读 · 0 评论 -
java线程四种实现方法
线程的四种实现方法1.继承Thread类2.实现Runnable接口3.使用Callable和Future接口创建线程4.使用线程池创建线程总结 1.继承Thread类 Thread类本质上是实现了Runnable接口的一个实例,代表一个 线程的实例。启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法是一个native方法,它将启动一个新线程,并执行run()方法。这种方式实现多线程很简单,通过自己的类直接extends Thread,并复写run()方法,就可原创 2021-08-04 15:55:52 · 135 阅读 · 0 评论