摘要: 一、多线程-同步函数的锁是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 阅读(6678) 评论(0) 推荐(0) 编辑