java 实现Runnable多线程技术 使用50个线程 生成10000个1到100000的随机整数
时间: 2024-12-18 17:26:02 浏览: 7
在Java中,我们可以利用`Runnable`接口和`Thread`类结合多线程技术来实现并发处理任务。为了生成10000个1到100000之间的随机整数,并且创建50个线程同时运行这个任务,你可以这样做:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class RandomNumberGenerator implements Runnable {
private int randomNum;
private static final int THREAD_COUNT = 50;
private static final int MAX_NUMBER = 100000;
public RandomNumberGenerator(int num) {
this.randomNum = num;
}
@Override
public void run() {
Random rand = new Random();
for (int i = 0; i < 10000; i++) {
int randomNumber = rand.nextInt(MAX_NUMBER - 1) + 1; // 避免生成MAX_NUMBER
System.out.println("Thread " + Thread.currentThread().getId() + ": " + randomNumber);
}
}
public static void main(String[] args) {
List<Thread> threads = new ArrayList<>();
for (int i = 0; i < THREAD_COUNT; i++) {
threads.add(new Thread(new RandomNumberGenerator(i)));
}
for (Thread thread : threads) {
thread.start(); // 启动每个线程
}
// 等待所有线程完成
try {
for (Thread thread : threads) {
thread.join();
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
```
在这个例子中,我们创建了一个实现了`Runnable`的类`RandomNumberGenerator`,每个实例负责生成10000个随机数。主函数中创建了50个这样的线程并启动它们,然后等待所有线程执行完毕。
阅读全文