设计Java代码,要求使用多个线程处理共享变量,线程中对共享变量的处理代码应用同步机制进行保护,并使结果输出为80
时间: 2024-02-13 12:07:20 浏览: 23
好的,以下是Java代码示例来演示如何使用同步机制来保护共享变量:
```java
public class Main {
// 定义共享变量
private static int sharedVariable = 0;
// 定义锁对象
private static final Object lock = new Object();
public static void main(String[] args) {
// 创建多个线程并启动
for (int i = 0; i < 10; i++) {
new Thread(new Runnable() {
@Override
public void run() {
// 获取锁
synchronized (lock) {
// 对共享变量进行处理
sharedVariable++;
// 输出结果为80时,释放锁
if (sharedVariable == 80) {
System.out.println("Result is 80!");
}
// 否则继续处理共享变量
else {
System.out.println("Shared variable is now: " + sharedVariable);
}
}
}
}).start();
}
}
}
```
以上代码中,我们首先定义了一个共享变量 `sharedVariable` 和一个锁对象 `lock`。然后我们创建多个线程并启动,每个线程都会去执行 `run` 方法,其中我们首先获取锁以保证当前线程独占共享变量,然后对共享变量进行处理,并在结果为80时输出结果并释放锁,否则继续处理共享变量。由于我们使用了同步机制,因此对共享变量的处理是安全的,同时也可以保证输出结果为80。