线程
Alex十年
永远年轻,永远热泪盈眶。
展开
-
例题讲解-两个线程间通信-依次输出12A34B56C......
例题:线程A输出1-52,线程B输出A-Z,最后的输出结果是:12A34B56C…。首先要想依次输出,需要实现两个线程之间的通信,线程之间的通讯可以通过共享对象来实现思路:两个线程A,B都实现Runnable接口,在C线程的main方法中,定义一个Object变量,并且将这个Object变量传入到A,B的构造方法中,当创建A,B两个线程的时候,通过有参的构造方法创建,在for循环中添加同步代码...原创 2019-08-19 19:23:10 · 633 阅读 · 0 评论 -
阻塞的三种状态以及死锁
1、一个线程占有了一个对象锁之后,CPU资源仍然能够被抢走。2、当其他线程抢到了CPU资源之后,发现获取不到对象锁,就会进入阻塞状态,此时进入的是由于获取不到对象锁而阻塞的阻塞队列中。3、当占有锁的线程释放锁的时候,就会立即唤醒等待锁的其他线程(在因获取不到对象锁而阻塞的阻塞队列中的线程)。上面所说的释放锁的时候,包括了所有释放锁的情形:a、线程退出同步块synchronized(obj...原创 2019-08-21 11:36:06 · 5504 阅读 · 1 评论