请详细描述在Java中如何创建多线程,并阐释线程同步机制的实现与工作原理?
时间: 2024-11-03 15:12:11 浏览: 16
在Java中实现多线程可以采用多种方式,如继承Thread类、实现Runnable接口或者使用Executor框架。首先,推荐使用实现Runnable接口的方式,因为它允许类继续继承其他类,具有更好的灵活性和复用性。创建线程后,可以通过synchronized关键字或显式锁(如ReentrantLock)实现线程同步,以防止数据竞争和保证线程安全。
参考资源链接:[Java编程语言学习指南](https://wenku.csdn.net/doc/4i3ppvhcfj?spm=1055.2569.3001.10343)
以下是一个简单的例子来阐释多线程的创建与同步机制的使用:
```java
class Counter {
private int count = 0;
// 增加计数的同步方法
public synchronized void increment() {
count++;
}
// 获取当前计数的同步方法
public synchronized int getCount() {
return count;
}
}
class CounterThread extends Thread {
private Counter counter;
public CounterThread(Counter counter) {
this.counter = counter;
}
public void run() {
for(int i = 0; i < 1000; i++) {
counter.increment();
}
}
}
// 主程序
public class MultiThreadExample {
public static void main(String[] args) {
Counter myCounter = new Counter();
CounterThread t1 = new CounterThread(myCounter);
CounterThread t2 = new CounterThread(myCounter);
t1.start();
t2.start();
try {
t1.join();
t2.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(
参考资源链接:[Java编程语言学习指南](https://wenku.csdn.net/doc/4i3ppvhcfj?spm=1055.2569.3001.10343)
阅读全文