![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
static_mkk
https://github.com/static-mkk
展开
-
synchronized非this锁
synchronized非this锁 标签: 多线程 好处: 如果在一个类中有很多个synchronized方法,这是虽然可以实现同步,但是会受到阻塞。影响效率。但是如果使用了同步代码块的非this锁,则该synchronized(非this)代码块和程序中的同步方法是异步的。不和其他线程争取this锁,可以提高运行效率。 demo package cn.kkcod...原创 2018-04-07 18:30:13 · 407 阅读 · 0 评论 -
Condition的使用以及其生产消费线程示例
Condition的使用以及其生产消费线程示例 标签: 多线程 Condition 介绍 Condition : 条件类. 可以通过建立多个Condition对象,来实现不同类线程的精准的调用.从而达到更高效的效果. Condition Tips 如何确定哪些线程在condition上,取决于哪些线程阻塞在对应的condition上 Condit...原创 2018-04-14 17:47:01 · 276 阅读 · 0 评论 -
Volatile介绍
Volatile介绍 标签: 多线程 volatile的特点 1.使变量在多个线程中可见.即,使多个线程从公共堆栈中获得变量值。 2.volatile只用于修饰变量.synchronized可以修饰方法,变量和类. 3.volatile不能保证原子性. 它唯一的作用就是 使 私有线程 从 公共堆栈中获取数据。仅仅保证读取的数据最新. 4.多线程访问volatile不会阻塞,而sync...原创 2018-04-11 19:33:25 · 250 阅读 · 0 评论 -
join介绍
join介绍 标签: 多线程 join的作用 等待线程销毁再执行当前线程join()方法后面的代码. join(long)与sleep(long)的区别 jion(long)方法,会释放该当前线程的锁.其内部是使用wait(long)来实现的.而sleep(long)并不会释放当前线程的锁. join(long)源码 public final s...原创 2018-04-12 21:05:09 · 385 阅读 · 0 评论 -
condition实现线程顺序执行
condition实现线程顺序 标签: 多线程 思路 利用不同的条件,把同一类的线程阻塞到同一个condition对象上,然后根据条件(代码的逻辑),按照一定的顺序执行不同的线程。 代码部分 package cn.kkcoder.thread; import java.util.concurrent.locks.Condition; import java...原创 2018-04-26 21:31:07 · 469 阅读 · 0 评论