2016年10月18日

线程的通讯

摘要: 1 线程的通讯 线程间通信其实就是多个线程在操作同一个资源,但操作动作不同 生产者消费者 如果有多个生产者和消费者,一定要使用while循环判断标记,然后在使用notifyAll唤醒,否者容易只用notify容易出现只唤醒本方线程情况,导致程序中的所有线程都在等待。 例如:有一个数据存储空间,划分为 阅读全文

posted @ 2016-10-18 18:15 眼泪笑我愚昧 阅读(135) 评论(0) 推荐(0) 编辑

线程的生命周期

摘要: 1. 线程生命周期 任何事物都是生命周期,线程也是, 1. 正常终止 当线程的run()执行完毕,线程死亡。 2. 使用标记停止线程 注意:Stop方法已过时,就不能再使用这个方法。 如何使用标记停止线程停止线程。 开启多线程运行,运行代码通常是循环结构,只要控制住循环,就可以让run方法结束,线程 阅读全文

posted @ 2016-10-18 18:15 眼泪笑我愚昧 阅读(119) 评论(0) 推荐(0) 编辑

死锁

摘要: 1 死锁 经典的“哲学家就餐问题”,5个哲学家吃中餐,坐在圆卓子旁。每人有5根筷子(不是5双),每两个人中间放一根,哲学家时而思考,时而进餐。每个人都需要一双筷子才能吃到东西,吃完后将筷子放回原处继续思考,如果每个人都立刻抓住自己左边的筷子,然后等待右边的筷子空出来,同时又不放下已经拿到的筷子,这样 阅读全文

posted @ 2016-10-18 18:12 眼泪笑我愚昧 阅读(149) 评论(0) 推荐(0) 编辑

锁对象

摘要: 线程间通信其实就是多个线程在操作同一个资源,但操作动作不同,wait,notify(),notifyAll()都使用在同步中,因为要对持有监视器(锁)的线程操作,所以要使用在同步中,因为只有同步才具有锁。 为什么这些方法定义在Object类中 因为这些方法在操作线程时,都必须要标识他们所操作线程持有 阅读全文

posted @ 2016-10-18 18:11 眼泪笑我愚昧 阅读(121) 评论(0) 推荐(0) 编辑

等待唤醒机制

摘要: 1.1.1. 等待唤醒机制 wait:告诉当前线程放弃执行权,并放弃监视器(锁)并进入阻塞状态,直到其他线程持有获得执行权,并持有了相同的监视器(锁)并调用notify为止。 notify:唤醒持有同一个监视器(锁)中调用wait的第一个线程,例如,餐馆有空位置后,等候就餐最久的顾客最先入座。注意: 阅读全文

posted @ 2016-10-18 18:10 眼泪笑我愚昧 阅读(912) 评论(0) 推荐(0) 编辑

后台线程

摘要: 1. 后台线程 后台线程:就是隐藏起来一直在默默运行的线程,直到进程结束。 实现: setDaemon(boolean on) 特点: 当所有的非后台线程结束时,程序也就终止了同时还会杀死进程中的所有后台线程,也就是说,只要有非后台线程还在运行,程序就不会终止,执行main方法的主线程就是一个非后台 阅读全文

posted @ 2016-10-18 17:55 眼泪笑我愚昧 阅读(288) 评论(0) 推荐(0) 编辑

join

摘要: Thread的join方法 当A线程执行到了B线程Join方法时A就会等待,等B线程都执行完A才会执行,Join可以用来临时加入线程执行 本案例,启动了一个JoinThread线程,main(主线程)进行for循环,当计数器为50时,让JoinThread,通过join方法,加入到主线程中,发现只有 阅读全文

posted @ 2016-10-18 17:53 眼泪笑我愚昧 阅读(213) 评论(0) 推荐(0) 编辑

线程模拟买票

摘要: 存在问题:这时候启动了四个线程,那么tickets是一个成员变量,也就是在一个线程对象中都维护了属于自己的tickets属性,那么就总共存在了四份。 解决方案一:tickets使用staitc修饰,使每个线程对象都是共享一份属性。 1.1 创建线程的方式二 创建线程的第二种方式.使用Runnable 阅读全文

posted @ 2016-10-18 15:36 眼泪笑我愚昧 阅读(330) 评论(0) 推荐(0) 编辑

线程的状态

摘要: 创建:新创建了一个线程对象。 可运行:线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取cpu的执行权。 运行:就绪状态的线程获取了CPU执行权,执行程序代码。 阻临时塞: 阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。直到线程 阅读全文

posted @ 2016-10-18 15:28 眼泪笑我愚昧 阅读(143) 评论(0) 推荐(0) 编辑

创建线程的方式

摘要: 达到了我们预期的效果。 线程的使用细节: 阅读全文

posted @ 2016-10-18 15:23 眼泪笑我愚昧 阅读(89) 评论(0) 推荐(0) 编辑

导航