2.关于Java的多线程编程
关于Java的线程,初学或者接触不深的大概也能知道一些基本概念,同时又会很迷惑线程到底是怎么回事?如果有人认为自己已经懂了不妨来回答下面的问题:
a. A对象实现Runnable接口,A.start()运行后所谓的线程对象是谁?是A么?
b. 线程的wait()、notify()方法到底是做什么时候用的,什么时候用?
c. 为什么线程的suspend方法会被标注过时,不推荐再使用,线程还能挂起么?
d. 为了同步我们会对线程方法声明Synchronized来加锁在对象上,那么如果父类的f()方法加了Synchronized,子类重写f()方法必须也加Synchronized么?如果子类的f()方法重写时声明Synchronized并调用super.f(),那么子类对象上到底有几把锁呢?会因为竞争产生死锁么?