lesson 10:用两个线程玩猜数字游戏,第一个线程负责随机给出1~100之间的一个整数,第二个线程负责猜出这个数。要求每当第二个线程给出自己的猜测后,第一个线程都会提示“猜小了”、“猜大了”或“猜
发布日期:2022-09-10 02:52:02
浏览次数:4
分类:技术文章
本文共 1588 字,大约阅读时间需要 5 分钟。
题目:
用两个线程玩猜数字游戏,第一个线程负责随机给出1~100之间的一个整数,第二个线程负责猜出这个数。要求每当第二个线程给出自己的猜测后,第一个线程都会提示“猜小了”、“猜大了”或“猜对了”。猜数之前,要求第二个线程要等待第一个线程设置好要猜测的数。第一个线程设置好猜测数之后,两个线程还要相互等待,其原则是:第二个线程给出自己的猜测后,等待第一个线程给出的提示;第一个线程给出提示后,等待给第二个线程给出猜测,如此进行,直到第二个线程给出正确的猜测后,两个线程进入死亡状态。
代码:
package 多线程; import java.util.Random; public class Example2 { public static void main(String[] args) { // TODO Auto-generated method stub Thread2 firstTh = new Thread2(); Thread2 secondTh = new Thread2(); boolean flag = true; while(flag) { firstTh.run(); secondTh.run(); if(firstTh.getNum()>100 && firstTh.getNum()<0) { firstTh.notify(); try { secondTh.wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(secondTh.getNum()>100 && secondTh.getNum()<0) { try { firstTh.wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } secondTh.notify(); } System.out.println("随机生成的数为"+firstTh.getNum()+",猜的数字为:"+secondTh.getNum()); if(secondTh.getNum()>firstTh.getNum()) { System.out.println("猜大了"); } else if(secondTh.getNum()结果:
转载地址:https://blog.csdn.net/wfcy023315/article/details/78844270 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年03月27日 04时48分50秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
linux常用命令
2019-04-26
快速排序qsort
2019-04-26
nyoj42一笔画问题欧拉图
2019-04-26
nyoj880还是打印菱形
2019-04-26
第八届蓝桥杯第4题:方格分割
2019-04-26
nyoj608畅通工程
2019-04-26
解决linux下mysql忘记密码的情况
2019-04-26
nyoj1101Oh, my God!错排公式
2019-04-26
nyoj动物统计字典树
2019-04-26
操作系统模拟生产者消费者问题
2019-04-26
JavaWeb的
2019-04-26
如何用JAVA爬取AJAX加载后的页面
2019-04-26
6重常用的排序算法代码
2019-04-26
VUE CLI 4.x v-for 图片不显示解决方法
2019-04-26
VUE CLI 4.x 打包成APP后白屏解决办法&&打包APP教程
2019-04-26
解决Vue history模式下路由跳转时页面404问题
2019-04-26
Vue项目页面跳转时,窗口上方显示进度条(Vue使用NProgress)
2019-04-26
Vue+axios下载文件
2019-04-26
Element UI table宽度自适应
2019-04-26
Vue引入ECharts图表
2019-04-26