java多线程 写一个存取代码
时间: 2023-11-14 15:46:58 浏览: 127
当涉及到多线程编程时,有许多不同的方法可以实现。下面是一个简单的Java多线程示例,展示了一个存取代码的例子:
```java
public class ThreadExample {
private int count = 0;
public static void main(String[] args) {
ThreadExample example = new ThreadExample();
example.startThread();
}
public void startThread() {
Thread thread1 = new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 1000000; i++) {
increment();
}
}
});
Thread thread2 = new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 1000000; i++) {
increment();
}
}
});
thread1.start();
thread2.start();
try {
thread1.join();
thread2.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Count: " + count);
}
public synchronized void increment() {
count++;
}
}
```
在这个例子中,我们创建了一个名为`ThreadExample`的类,其中包含了一个私有的`count`变量。我们创建了两个线程,每个线程都会递增`count`变量的值1000000次。这里使用`synchronized`关键字来确保在多线程环境下对`increment()`方法的访问是同步的,避免了竞态条件(race condition)的发生。
在`startThread()`方法中,我们启动了这两个线程,并使用`join()`方法等待它们完成。最后,我们打印出最终的`count`值。
请注意,这只是一个简单的示例,用于说明多线程编程的基本概念。在实际开发中,您可能需要更复杂的同步机制来处理共享资源的访问。
阅读全文