微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java线程中卖火车票问题的深入讲解

这篇文章主要给大家介绍了关于Java线程中卖火车票问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

用Java代码模拟卖100张火车票问题:四个售票窗口同时售票且不能卖出同一张火车票。

代码如下。

package lesson; public class Demo1 { public static void main(String[] args) { // Todo Auto-generated method stub Train tt = new Train(); Thread t1 = new Thread(tt); Thread t2 = new Thread(tt); Thread t3 = new Thread(tt); Thread t4 = new Thread(tt); t1.setName("窗口1"); t2.setName("窗口2"); t3.setName("窗口3"); t4.setName("窗口4"); t1.start(); t2.start(); t3.start(); t4.start(); } } class Train implements Runnable{ int a= 1; @Override public synchronized void run() {//synchronized为进程上锁 // Todo Auto-generated method stub while(true) { if(a

wait()正常运行结果图1:

sleep()运行结果如图2所示:

两种结果不同的主要主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法

总结

到此这篇关于Java线程中卖火车票问题的深入讲解的文章就介绍到这了,更多相关Java线程卖火车票问题内容搜索编程之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程之家!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐