社区
Java SE
帖子详情
大家都过来看看这个问题。。。怎么解决?
goyangtao
2007-07-23 06:53:37
要求用多线程编写一个打田鼠的游戏,要求程序输出结果为:
跳出第1只田鼠
打第1只田鼠
跳出第2只田鼠
打第2只田鼠
.。。。。。。。。。。。。。。。一直到第100只
...全文
148
4
打赏
收藏
大家都过来看看这个问题。。。怎么解决?
要求用多线程编写一个打田鼠的游戏,要求程序输出结果为: 跳出第1只田鼠 打第1只田鼠 跳出第2只田鼠 打第2只田鼠 .。。。。。。。。。。。。。。。一直到第100只
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
IhaveGotYou
2007-07-23
打赏
举报
回复
类似生产者-消费者问题:
可以用两个线程来做,一个线程负责进入队列,一个线程出队列,以前的代码.希望有些参考价值,而不是误导.
package net.oicp.sunflowerbbs;
import java.util.Random;
enum Operate {
push, pop
};
class Queue {
private int MaxSize = 10;
private int[] array;
private int top = -1;
Queue() {
this(10);
};
Queue(int size) {
this.MaxSize = size;
assert (size >= 0);
array = new int[size];
}
public synchronized void operate(Operate theOperate,int x)
{
switch(theOperate){
case push:
try
{
while(top >= MaxSize)
wait();
top++;
array[top] = x;
notifyAll();
System.out.println("进:"+x);
}
catch(Exception e)
{
e.printStackTrace();
}
break;
case pop:
try
{
while((top <= -1))
wait();
System.out.println("出:"+array[top--]);
notifyAll();
}
catch(Exception e)
{
e.printStackTrace();
}
break;
default:
}
}
}
class MyThread extends Thread
{
private static Queue q=new Queue(20);
private Random rd=new Random();
Operate op;
public void run()
{
String threadName = Thread.currentThread().getName();
try
{
while(!interrupted())
{
if(threadName.equals("A"))
{
q.operate(op.push,rd.nextInt(100));
}
if(threadName.equals("B"))
{
q.operate(op.pop, 10);
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
public class ThreadCP {
public static void main(String[] args) {
Thread t1=new Thread(new MyThread(),"A");
//t1.setPriority(5);
Thread t2=new Thread(new MyThread(),"B");
//t2.setPriority(1);
t1.start();
t2.start();
}
}
goyangtao
2007-07-23
打赏
举报
回复
只要用多资源做出来这个题,就可以了
熊孩子开学喽
2007-07-23
打赏
举报
回复
怎么让线程不抢占资源呀
--------------------------
什么线程抢占资源??楼主在说什么??
goyangtao
2007-07-23
打赏
举报
回复
怎么让线程不抢占资源呀。。。谢谢
Magic v1 does not support record headers!
问题
如何
解决
?SkyWalking和Kafka孰是孰非?
过来
看看
你就知道了
过来
看看
你就知道了。 某天登录测试环境,发现登录验证码加载失败!F12查看请求,发现服务器硬盘空间不足。然后就顺其自然去找原因了。 输入 find . -type f -size +500M -print0 | xargs -0 du -h 查找服务器上大...
面试中问到的遇到什么困难的
问题
,如何
解决
? 方法论借鉴
注:本人是一个拿来主义者,好的工具,好的方法,以及一些大神的总结,都拿
过来
分享: 面试回答
问题
,“1 + 1 = 2”,这么回答确实没啥
问题
,那么有没有想过为啥面试官会为“1 + 1”这样的
问题
,他需要的答案是否...
怎样成为
解决
问题
的高手?——关于
问题
解决
的关键4步骤
一个真正的高手,其实应该有能力用一套方法论去
解决
问题
的所有,不管这个
问题
再难,再新鲜,再简单都能搞定。 什么是
问题
?一言以蔽之,
问题
来源于现实与目标的差距。 因此,
问题
产生的原因可能是: ...
Redis中什么是热Key
问题
?如何
解决
热Key
问题
?
那么接下来对这个Key的请求,都会直接请求到我们的后端数据库中,数据库性能本来就不高,这样就可能直接压垮数据库,进而导致后端服务不可用。双十一秒杀商品,短时间内某个爆款商品可能被点击/购买上百
总是提示此平台不支持虚拟化?看
过来
,一步步教你如何
解决
此类
问题
遇到“此平台不支持虚拟化Intel VT-x/EPT 或 AMD-V/RVI(V)”的
问题
不会
解决
?这篇文章将一步步教你如何
解决
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章