Java多线程并发问题:示例展示

原创 冷不防 2024-12-09 09:45 8阅读 0赞

在Java中,多线程并发问题是常见的编程挑战。以下是一个简单的例子,展示可能出现的并发问题:

  1. 主线程创建两个子线程

    1. public class MultiThreadExample {
    2. private final int threadCount = 2;
    3. public void startThreads() throws InterruptedException {
    4. // 创建线程池
    5. ExecutorService executor = Executors.newFixedThreadPool(threadCount);
    6. // 提交任务到线程池,每个线程会处理一个任务
    7. for (int i = 0; i < threadCount; i++) {
    8. Runnable worker = () -> System.out.println("Thread " + i + " is running...");
    9. executor.execute(worker);
    10. }
    11. // 关闭线程池,释放资源
    12. executor.shutdown();
    13. }
    14. public static void main(String[] args) throws InterruptedException {
    15. MultiThreadExample example = new MultiThreadExample();
    16. example.startThreads();
    17. Thread.sleep(2000); // 暂停主线程,观察子线程执行情况
    18. System.out.println("Main thread is exiting...");
    19. }
    20. }

在这个例子中,我们创建了两个子线程。主线程在startThreads()方法中启动了这两个线程。

由于线程池的限制(当前我们设置了2个线程),所以每个线程都会等待其他的线程完成任务后才会执行自己的代码。

main()方法中,我们通过Thread.sleep(2000);暂停主线程,观察子线程的执行情况。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,8人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java线并发问题示例

    在Java中,多线程并发问题通常涉及到共享资源的访问、同步机制的使用以及竞态条件等问题。 以下是一个简单的示例,展示了并发带来的问题: ```java // 创建一个共享变