Java多线程问题
public class ThreadA {
public static void main(String[] args) {
// TODO Auto-generated method stub
ThreadB b = new ThreadB();
b.start();
synchronized(b){
try {
System.out.println("this is a thread");
b.wait();
} catch(InterruptedException e) {
e.printStackTrace();
}
System.out.println("b.total="+b.total);
}
}
}
class ThreadB extends Thread {
int total;
public void run() {
synchronized (this) {
for(int i = 0;i < 10;i ++) {
total +=i;
System.out.println(i);
}
notify();
}
}
}
这段代码运行结果是
this is a thread
1
2
3
4
5
6
7
8
9
b.total=45
红色的这段代码和ThreadB.run()方法中的代码都加了synchronized,为什么先执行红色的这段,后执行ThreadB?
...全文
相关推荐
个人总结40个Java多线程面试问题和答案
Java多线程面试问题和答案总结Java多线程是一种高级的编程技术,能够充分发挥多核CPU的优势,防止阻塞,简化模型建立,提高程序的效率和可维护性。
JAVA并发多线程的面试问题及答案-java多线程并发面试题.docx
JAVA并发多线程面试问题及答案JAVA并发多线程是Java技术面试中面试官比较喜欢问的问题之一。
Java程序员面试中的多线程问题总结
在Java编程中,多线程是核心概念之一,特别是在面试场景中,掌握多线程的知识对于成为一名高级Java程序员至关重要。以下是一些常见的Java多线程面试问题及其详细解答:1.
Java Swing多线程死锁问题解析
Java Swing多线程死锁问题解析Java Swing多线程死锁问题解析是Java开发者经常遇到的问题之一。在基于Java Swing进行图形界面开发时,经常会遇到多线程问题。
java多线程面试相关问题
Java多线程是Java编程中的重要组成部分,尤其在面试中,多线程相关的知识点往往成为衡量开发者技术深度的标准。以下是对这些核心问题的详细解答:1.


Java SE
