我就举一个简单的例子帮助你们理解:比如慕女神同时接收到两个追求者的邀请,但是慕女神在接受其中一位追求者的邀请时却忘记拒绝另一位追求者,那就非常尴尬了。多线程很容易出现这类问题,当一个线程运行的间隙中,另一个线程处理了还未处理完的数据,结果就导致数据的结果异常。比如买票时,当你正在买某个座位的票时,当你准备付款时,票务系统却中途把票卖给了其他顾客,这样会带来很多问题,所以售票系统通常会采用并发锁来控制订单的处理。当一个线程在处理数据时,其他线程必须等待该线程处理完成后,才能对该数据进行处理。
2016-06-07
已采纳回答 / 1533687848
就等于是你在等待办业务,在办业务的这个办公室只能有一个人进去,lockObj对象就等于这个办公室,外面等待的人就是这个办公室所拥有的wait set,当一个人办完业务时,办公室会通知所有等待的人说可以进去了,那么这外面等待的所有的人就都同时获得了平等的竞争进入办公室的权力。
2016-06-01