15-2
来源:互联网 发布:苹果mac版office2016 编辑:程序博客网 时间:2024/05/29 17:20
- 用两个线程玩猜数字游戏,第一个线程负责随机给出1~100之间的一个整数,第二个线程负责猜出这个数。
- * 要求每当第二个线程给出自己的猜测后,第一个线程都会提示“猜小了”、“猜大了”或“猜对了”。
- * 猜数之前,要求第二个线程要等待第一个线程设置好要猜测的数。
- * 第一个线程设置好猜测数之后,两个线程还要相互等待。
- * 其原则是:第二个线程给出自己的猜测后,等待第一个线程给出的提示;第一个线程给出提示后,等待给第二个线程给出猜测。
- * 如此进行,直到第二个线程给出正确的猜测后,两个线程进入死亡状态。
package 多线程;import java.util.Random;public class example2{ public static void main(String[] args) { // TODO Auto-generated method stub guessThread fth=new guessThread(); Thread first=new Thread(fth);//正确数字线程 first.run(); while(true) { try { Thread.sleep(10); guessThread sth=new guessThread(); Thread second=new Thread(sth); // Thread second=new Thread(new guessThread()); second.interrupt(); //唤醒这个进程 second.run(); Thread.sleep(10); first.interrupt(); System.out.println("随机生成的数为"+fth.getNum()+",猜的数字为:"+sth.getNum()); if(sth.getNum()>fth.getNum()) System.out.println("猜大了"); else if(sth.getNum()<fth.getNum()) System.out.println("猜小了"); else {System.out.println("猜对了"); break;} } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }} package 多线程;import java.util.Random;class guessThread implements Runnable{ int num; public synchronized void run() { // TODO Auto-generated method stub Random r = new Random(); num= r.nextInt(100); } public int getNum() { return num; } public void setNum(int num) { this.num = num; } }
阅读全文
0 0
- 15,2
- 2-15
- 15-2
- 2005/2/15
- 2011 2-15
- 15周业(2)
- XML(2012/2/15)
- 2月15日
- 2012-2-15雨
- 实验报告15--2
- 15周任务2
- 15周任务2
- 15周任务2
- 15周问题2
- 2015/2/15
- 习题2—15
- 习题2-15
- Homework 1/15*2
- QT数据类型和有用的数据操作类总结
- 百度自定义API地图
- linux如何安装Tomcat
- 兄弟连学Python(02)———数据类型
- JavaScript正则
- 15-2
- Programming Entity Framework DbContext.pdf 英文原版 免费下载
- MVP
- 如何用命令删除find出来的文件
- 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-低年级组)
- VSFTP服务搭建及FTP并发的核心理解
- 383. Ransom Note
- 【Scikit-Learn 中文文档】监督学习:从高维观察预测输出变量
- Linux DNS服务器配置