摘要: /*join:当A线程执行到了B线程的.join()方法时,A就会等待。等B线程都执行完,A才会执行。join可以用来临时加入线程执行。1.线程使用join方法,主线程就停下,等它执行完,那么如果该线程冻结了,主线程就挂了,这也是为什么线程要抛异常的原因2.当两个或以上线程开启了,这个A线程才使用j 阅读全文
posted @ 2016-07-12 21:02 Qi_Yuan 阅读(6901) 评论(0) 推荐(0) 编辑
摘要: /*1.让各个对象或类相互灵活交流2.两个线程都冻结了,就不能唤醒了,因为根据代码要一个线程活着才能执行唤醒操作,就像玩木游戏3.中断状态就是冻结状态4.当主线程退出的时候,里面的两个线程都处于冻结状态,这样就卡住了5.try catch 有异常,catch就自动帮忙处理,程序继续运行6.让wait 阅读全文
posted @ 2016-07-12 21:01 Qi_Yuan 阅读(2120) 评论(0) 推荐(0) 编辑
摘要: /*1.让各个对象或类相互灵活交流2.两个线程都冻结了,就不能唤醒了,因为根据代码要一个线程活着才能执行唤醒操作,就像玩木游戏3.中断状态就是冻结状态4.当主线程退出的时候,里面的两个线程都处于冻结状态,这样就卡住了5.try catch 有异常,catch就自动帮忙处理,程序继续运行6.让wait 阅读全文
posted @ 2016-07-12 21:00 Qi_Yuan 阅读(12025) 评论(0) 推荐(0) 编辑
摘要: import java.util.concurrent.locks.*;/*1.新的解锁,上锁操作,据说是jdk5.0升级版,以前的枷锁,解锁都是隐藏的,默认的,现在变成显式2.新的异常处理方式 这次增多了一个上锁就不是内部处理等待异常了,主动抛?3.再增,两个什么生产者,消费者都是对这个类的数据进 阅读全文
posted @ 2016-07-12 20:59 Qi_Yuan 阅读(331) 评论(0) 推荐(0) 编辑
摘要: /*1.增加一个知识点一个类怎么在所有的类中,让其它类来共同修改它的数据呢?可以用单例设计模式可以用静态可以在其它类中做一个构造函数,接受同一个对象,这样就可以实现对象2.状态选择可以用数字0 1 判断可以用bool注意变量的范围即可3.加了同步后,还是有安全怎么办?想前提! 1. 两个及以上线程( 阅读全文
posted @ 2016-07-12 20:58 Qi_Yuan 阅读(1756) 评论(0) 推荐(0) 编辑
摘要: class ProducerConsumerDemo { public static void main(String[] args) { Resource r = new Resource(); Producer pro = new Producer(r); Consumer con = new 阅读全文
posted @ 2016-07-12 20:58 Qi_Yuan 阅读(467) 评论(0) 推荐(0) 编辑
摘要: 一、多线程-同步函数的锁是this /*同步函数用的是哪一个锁呢?函数需要被对象调用。那么函数都有一个所属对象引用。就是this。所以同步函数使用的锁是this。通过该程序进行验证。使用两个线程来买票。一个线程在同步代码块中。 这两个的锁不一样一个线程在同步函数中。都在执行买票动作。*/class 阅读全文
posted @ 2016-07-11 15:07 Qi_Yuan 阅读(32459) 评论(0) 推荐(0) 编辑
摘要: /*需求:银行有一个金库有两个储户分别存300元 每次存100元,存3次目的:该程序是否有安全问题,如果有,如何解决?如何找问题(很重要)1.明确哪些代码是多线程运行代码2.明确共享数据3.明确多线程代码中那些语句是操作共享数据的*/class Bank{ object obj=new object 阅读全文
posted @ 2016-07-11 15:01 Qi_Yuan 阅读(665) 评论(0) 推荐(0) 编辑
摘要: /*多线程的安全问题1.为什么会出现安全问题?因为程序在运行时,会出现一个线程在判断条件满足后,具备了执行资格,但没有运行代码后一个线程也判断了条件,也具备了执行资格,后一个线程运行了代码,但这时候,线程运行的条件不满足了这时候,就出现了安全问题2.实现接口线程的方法不能抛出异常!*//*运行情况通 阅读全文
posted @ 2016-07-11 15:00 Qi_Yuan 阅读(6677) 评论(0) 推荐(0) 编辑
摘要: /*多线程的安全问题1.为什么会出现安全问题?因为程序在运行时,会出现一个线程在判断条件满足后,具备了执行资格,但没有运行代码后一个线程也判断了条件,也具备了执行资格,后一个线程运行了代码,但这时候,线程运行的条件不满足了这时候,就出现了安全问题2.实现接口线程的方法不能抛出异常!*//*运行情况通 阅读全文
posted @ 2016-07-10 17:19 Qi_Yuan 阅读(420) 评论(0) 推荐(0) 编辑