简单Java多线程问题实例
下面是一个简单的Java多线程问题实例,我们将创建一个计数器应用程序,其中两个线程交替增加计数值。
public class CounterApp {
private int count = 0; // 计数器变量
// 线程1:递增计数
public class IncrementThread implements Runnable {
@Override
public void run() {
for (int i = 0; i < 5; i++) { // 进行5次递增
count++;
System.out.println("IncrementThread: Count " + count);
}
}
}
// 线程2:回退计数
public class DecrementThread implements Runnable {
@Override
public void run() {
for (int i = 0; i < 5; i++) { // 进行5次回退
count--;
System.out.println("DecrementThread: Count " + count);
}
}
}
public static void main(String[] args) {
CounterApp counterApp = new CounterApp();
Thread incrementThread = new Thread(counterApp.IncrementThread());
Thread decrementThread = new Thread(counterApp.DecrementThread());
incrementThread.start(); // 启动递增线程
decrementThread.start(); // 启动回退线程
try {
incrementThread.join(); // 等待递增线程结束
decrementThread.join(); // 等待回退线程结束
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Final Count: " + counterApp.count)); // 输出最终计数值
}
}
在这个例子中,我们创建了两个线程:IncrementThread
递增计数,DecrementThread
回退计数。在main
方法中,我们启动这两个线程,并等待它们结束。最后,输出最终的计数值。
还没有评论,来说两句吧...