java-多线程
l清水
这个作者很懒,什么都没留下…
展开
-
多线程(一)线程类Thread基本应用
java线程是一个高级话题,面试中经常会问到。本文分为两部分介绍,第一部分介绍java线程的生命周期,有一个概念上的认识。第二部分介绍Thread类的使用,和实际场景中的一些方法。(本文jdk 1.8) 一、生命周期 如果你想了解线程,就需要先了解线程状态,和Java线程生命周期。下面看图1,是基本的线程生命周期。 图1 如图1,我们可以清晰的看出线程的生命周期,用语言表述为线原创 2017-05-23 22:29:32 · 477 阅读 · 0 评论 -
多线程(二)volatile关键字详解
volatile关键字,几乎是面试必问的话题,但是我浏览了所有的网页并没有发现正确清晰的例子。都是一些概念上的解答,本文通过一个测试过的Java实例,来讲解volatile关键字的用法和场景。 1.概念 我也先简单讲一下概念,让初学者有点了解。并发,有可见性和原子性两种。volatile只保证了可见性遵循happen-before原则,不保证原子性。所以这个关键字不能作为计数器使用(计数器取值原创 2017-05-24 21:30:00 · 291 阅读 · 1 评论 -
多线程(三) synchronized
说到synchronized可以说是java 多线程第一节课了。每java程序员都知道这个关键字。这里就这个关键字的原理和使用在介绍一次,一方面巩固理解,一方面和大家讨论一下。 这个关键词使用起来很简单,就是将代码段,或者方法,加锁实现串行执行,可是锁是什么?这个就是一个初学者常见的坑。 锁有3种:1.成员属性锁。2,对象锁(也就是this关键字;或者方法加上synchronized,原创 2017-06-19 22:11:50 · 268 阅读 · 0 评论