前言
并发编程在现代计算环境中越来越重要,特别是多核处理器变得越来越普遍。本章将详细探讨 Java 并发编程的基础,包括线程的创建与管理、同步机制,以及常用的并发工具类。
一、线程的创建与管理
-
继承 Thread 类:
class MyThread extends Thread { public void run() { System.out.println("Thread running"); } } MyThread myThread = new MyThread(); myThread.start();
-
实现 Runnable 接口:
class MyRunnable implements Runnable { public void run() { System.out.println("Runnable running"); } } Thread thread = new Thread(new MyRunnable()); thread.start();
二、同步与锁
-
使用 synchronized 关键字:
public synchronized void myMethod() { System.out.println("Method synchronized"); } Object myObject = new Object(); synchronized(myObject) { System.out.println("Block synchronized"); }
-
使用 ReentrantLock:
ReentrantLock lock = new ReentrantLock(); lock.lock(); try { System.out.println("Locked section"); } finally { lock.unlock(); }
三、并发工具类
-
Executor 框架:
ExecutorService executor = Executors.newFixedThreadPool(2); executor.submit(new MyRunnable());
-
CountDownLatch:
CountDownLatch latch = new CountDownLatch(2); latch.countDown(); latch.await();
-
CyclicBarrier:
CyclicBarrier barrier = new CyclicBarrier(2); barrier.await();
总结
Java 并发编程是一个复杂但非常重要的主题。掌握它不仅能帮助您编写更高效的代码,还能帮助您更好地理解现代操作系统和硬件的工作原理。本章提供了 Java 并发编程的基础知识,为您后续的学习和应用打下了坚实的基础。