用java写一个高并发实例
时间: 2024-01-06 12:03:18 浏览: 35
下面是一个使用Java编写的高并发示例,它使用多线程来模拟同时处理多个任务:
```java
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
class Task implements Runnable {
private int taskId;
public Task(int taskId) {
this.taskId = taskId;
}
@Override
public void run() {
System.out.println("Task " + taskId + " is running.");
// 模拟任务的耗时操作
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Task " + taskId + " is completed.");
}
}
public class ConcurrentExample {
public static void main(String[] args) {
// 创建一个线程池,指定线程数量为10
ExecutorService executorService = Executors.newFixedThreadPool(10);
// 提交100个任务给线程池执行
for (int i = 0; i < 100; i++) {
executorService.submit(new Task(i));
}
// 关闭线程池
executorService.shutdown();
}
}
```
上述代码创建了一个线程池,使用`Executors.newFixedThreadPool()`方法创建一个固定大小的线程池,其中线程数量为10。然后,通过循环提交100个任务给线程池执行。每个任务都是一个`Task`类的实例,实现了`Runnable`接口。在`run()`方法中,我们可以定义每个任务要执行的逻辑。在这个示例中,每个任务只是简单地打印一条消息,并模拟一个耗时操作。最后,我们关闭线程池。
这个示例展示了如何通过多线程实现高并发处理多个任务。每个任务在一个独立的线程中执行,以提高系统的并发能力。请注意,实际应用中还需要根据具体需求进行适当的线程管理和资源控制。