Java并发编程中的示例

Java 并发编程是现代软件开发中一个非常重要的领域,它允许开发者编写高效、响应快速的程序。以下是一些Java并发编程的示例。

线程同步

线程同步是避免多个线程同时访问共享资源的一种机制。以下是一个使用synchronized关键字进行同步的示例:

public class Counter {
    private int count = 0;

    public synchronized void increment() {
        count++;
    }

    public synchronized int getCount() {
        return count;
    }
}

线程池

线程池可以管理一组线程,从而避免为每个任务创建和销毁线程的开销。以下是一个简单的线程池实现:

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class ThreadPoolExample {
    public static void main(String[] args) {
        ExecutorService executor = Executors.newFixedThreadPool(5);
        for (int i = 0; i < 10; i++) {
            executor.submit(() -> System.out.println("Task " + i + " is running."));
        }
        executor.shutdown();
    }
}

并发工具类

Java 提供了一些并发工具类,如 SemaphoreCyclicBarrier,它们可以帮助我们更方便地实现并发控制。

import java.util.concurrent.Semaphore;

public class SemaphoreExample {
    public static void main(String[] args) {
        Semaphore semaphore = new Semaphore(3);
        for (int i = 0; i < 10; i++) {
            new Thread(() -> {
                try {
                    semaphore.acquire();
                    System.out.println("Thread " + Thread.currentThread().getName() + " is running.");
                    semaphore.release();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }).start();
        }
    }
}

更多关于Java并发编程的内容,请参考本站Java并发编程教程

相关图片

  • Concurrency
  • Java
  • Thread
  • ExecutorService
  • Semaphore