public class ThreadTest implements Runnable {
public static int a = 0;
public void run() {
for (int k = 0; k < 5; k++) {
a = a + 1;
}
}
public static void main(String[] args) throws Exception {
Runnable r = new ThreadTest();
Thread t = new Thread(r);
t.start();
t.join(); //主要用于等待t线程运行结束,若无此句,main则会执行完毕,导致结果不可预测
System.out.println(a);
}
}
public static int a = 0;
public void run() {
for (int k = 0; k < 5; k++) {
a = a + 1;
}
}
public static void main(String[] args) throws Exception {
Runnable r = new ThreadTest();
Thread t = new Thread(r);
t.start();
t.join(); //主要用于等待t线程运行结束,若无此句,main则会执行完毕,导致结果不可预测
System.out.println(a);
}
}
并发编程:深入理解线程测试
本文详细探讨了并发编程中的线程测试,通过一个简单的`ThreadTest`类实例展示了如何实现多线程同步与互斥操作。重点介绍了如何使用`Runnable`接口和`Thread`类来创建并启动线程,以及如何通过`join()`方法确保主线程等待子线程执行完毕,从而获取最终的计数结果。此外,文章还深入解析了线程间的协作与竞争问题,为开发者提供了实践指导。
360

被折叠的 条评论
为什么被折叠?



