![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 78
潮汐止处
仍什么也不懂
展开
-
【Java多线程】 (一)初步了解
一、使用多线程1.继承Thread类public class ThreadTest extends Thread{@Overridepublic void run() { // TODO Auto-generated method stub super.run();}}直接调用run方法,那么此线程对象就不交给“线程规划器”了,就不会异步执行了 。2.实现Runnab...原创 2018-04-18 20:37:38 · 165 阅读 · 2 评论 -
【Java多线程】(二)synchronized关键字
同步问题:值被更改,值不同步。多个线程访问临界资源。解决方法:synchronized关键字synchronized取得的锁为对象锁,且具有重入(当一个线程得到一个对象锁后,再次请求此对象锁是可以再次得到该独享锁的)功能。当一个线程执行的代码出现异常时,其所持有的锁会自动释放。锁不能被继承,比如你在父类的一个方法上加了synchronized,在子类中如果想要实现同步必须再次加...原创 2018-04-18 22:01:44 · 138 阅读 · 0 评论 -
【Java多线程】(三)volatile关键字
关键字volatile的主要作用是使变量在多个线程间可见。(当线程访问某个变量是,强制性从公共堆栈中进行取值)synchronized和volatile关键字比较:1.volatile只能修饰变量,synchronized可以修饰方法以及代码块。2.volatile能保证数据的可见性,但不能保证原子性,而synchronized可以保证原子性,也可以加间接保证可见性。3.volat...原创 2018-04-20 10:42:20 · 315 阅读 · 0 评论 -
【Java多线程】(四)线程间通信
1.等待/通知机制wait和notify都是object类的方法。wait()是线程停止运行,notify()使停止的线程继续运行。在调用wait和notify时,必须获得对象级锁,因此必须在同步方法或者同步代码块中执行。wait:释放的对象锁-->该锁被其他线程获取,-->获取该锁的线程调用notify并执行完毕释放对象锁-->原来调用wait方法的对象重新获得...原创 2018-04-20 15:39:53 · 166 阅读 · 0 评论 -
【Java多线程】(五)锁的种类
Java中的锁分类在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下:公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁上面是很多锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的设计,下面总结的内容是对每个锁的名词进行一定的解释。公平锁/...转载 2018-04-26 10:34:28 · 219 阅读 · 0 评论