多线程
欣欣欣白白白
——n
展开
-
java 多线程 锁 synchronized 面试题
早上上网看博客的时候看见一道面试题。。便因此纠结了一天:public class TestSync2 implements Runnable { int b = 100; synchronized void m1() throws InterruptedException { b = 1000; Thread.sleep(500);原创 2018-01-15 21:36:40 · 2799 阅读 · 2 评论 -
java volatile解释
在java中有一种比synchronized更轻量级的同步方式,那就是volatile关键字。不过他功能并没有那么强大.在这里我写一下volatile关键字与synchronized关键字的区别:volatile在多线程中只能保证数据的可见性,synchronized关键字可见性和原子性都能得到保证。volatile关键字只能修饰变量,synchronized可以修饰方法,代码块…volati原创 2018-01-28 14:05:25 · 370 阅读 · 0 评论 -
java多线程 isAlive方法的有趣现象
多线程中的isAlive方法相信大家都知道。无非就是当前线程如果是存活的,在运行中,则返回true,否则返回false,不过还是有些有趣现象的,我们这里用代码演示一下:class TestThread extends Thread{ @Override public void run() { System.out.println(this.isAlive());原创 2018-01-29 17:20:34 · 3139 阅读 · 0 评论 -
java多线程 sleep 与 wait
在多线程中使线程阻塞有那么几种情况:sleep()的调用wait()的调用遇到阻塞iosuspend使线程暂停执行(这个方法已弃用)在未持有锁时,进入同一个对象锁的同步代码块时,等待锁的时候。那么我们这篇文章就看一看sleep()和wait()分别都能干什么。sleep()Thread.sleep(long millis),可以使当前线程休眠指定的毫秒数。但是需要注意的是,调用该方法并不原创 2018-01-29 18:04:28 · 545 阅读 · 0 评论