JAVA采用实现Runnable接口的多线程技术,用50个线程,生成10000个[1-1000]间的随机整数。

具体说说怎么新建50个线程,有了线程后50个线程怎么操作,有代码更好... 具体说说怎么新建50个线程,有了线程后50个线程怎么操作,有代码更好 展开
 我来答
励丹寒0iQ
2012-02-20 · TA获得超过369个赞
知道小有建树答主
回答量:288
采纳率:0%
帮助的人:271万
展开全部
public class RandomNumber implements Runnable {
private final byte[] lock; // 同步对象锁
private Random random; // 用于生成随机数
private int sum; // 用于计算产生的随机数总数

public RandomNumber() {
lock = new byte[1];
random = new Random();
}

@Override
public void run() {
while (true) {
int rd = random.nextInt(1001); // 产生0 - 10000的随机数
if (rd == 0) {
continue;
} else {
if (sum >= 10000) {
return;
}
try {
Thread.sleep(1); // 为了效果更明显,当前线程睡1毫秒
} catch (InterruptedException e) {
e.printStackTrace();
}
synchronized (lock) {
// 获取到对象锁之后,需要判断sum的大小,因为此时sum可能已经为10000了
if (sum < 10000) {
sum++;
System.out.println(Thread.currentThread().getName()
+ " - 第" + sum + "个随机数:" + rd);
}
}
}
}
}
// main测试函数
public static void main(String[] args) throws Exception {
RandomNumber rn = new RandomNumber();
// 循环产生50个线程
for (int i = 0; i < 50; i++) {
new Thread(rn).start();
}
}
}
有问题再追问,一起学习探讨
null2015
2012-02-20 · 超过60用户采纳过TA的回答
知道小有建树答主
回答量:141
采纳率:0%
帮助的人:154万
展开全部
设有:public class My_num implements Runnable
{
public void run()
{...} // 这里生成随机数,并保存
}
然后在交互类中:
public void create50Thread()
{
for (int i=0; i<50; i++)
{
new Thread(new My_num()).start();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lc520jay
2012-02-20
知道答主
回答量:10
采纳率:0%
帮助的人:6.9万
展开全部
import java.util.Random;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class Threada implements Runnable{

public void run() {
// TODO Auto-generated method stub
Random random=new Random();
for(int i=0;i<=10000;i++){
System.out.println(random.nextInt(1000));
}
}

public static void main(String[] args) {
ExecutorService e=Executors.newCachedThreadPool();
for(int a=0;a<=50;a++)
e.execute(new Threada());
e.shutdown();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MrLiu426
2012-02-20 · 超过46用户采纳过TA的回答
知道小有建树答主
回答量:155
采纳率:0%
帮助的人:131万
展开全部
留个邮箱,工程发你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式