漫画 | Java多线程与并发(一)

1、什么是线程?


漫画 | Java多线程与并发(一)


2、线程和进程有什么区别?


漫画 | Java多线程与并发(一)


3、如何在Java中实现线程?


漫画 | Java多线程与并发(一)


4、Java关键字volatile与synchronized作用与区别?


漫画 | Java多线程与并发(一)


volatile修饰的变量不保留拷贝,直接访问主内存


漫画 | Java多线程与并发(一)


synchronized用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码


5、有哪些不同的线程生命周期?


漫画 | Java多线程与并发(一)


6、你对线程优先级的理解是什么?


漫画 | Java多线程与并发(一)


7、什么是死锁(Deadlock)?如何分析和避免死锁?


漫画 | Java多线程与并发(一)


8、什么是线程安全?Vector是一个线程安全类吗?


漫画 | Java多线程与并发(一)


9、Java中如何停止一个线程?


漫画 | Java多线程与并发(一)


10、什么是ThreadLocal?


漫画 | Java多线程与并发(一)


11、Sleep()、suspend()和wait()之间有什么区别?


漫画 | Java多线程与并发(一)


注意:sleep()是一个静态方法。这意味着只对当前线程有效,一个常见的错误是调用t.sleep(),(这里的t是一个不同于当前线程的线程)。即便是执行t.sleep(),也是当前线程进入睡眠,而不是t线程。t.suspend()是过时的方法,使用suspend()导致线程进入停滞状态,该线程会一直持有对象的监视器,suspend()容易引起死锁问题。


漫画 | Java多线程与并发(一)


12、什么是线程饿死,什么是活锁?


漫画 | Java多线程与并发(一)


13、什么是Java Timer类?(如何创建一个有特定时间间隔的任务?)


漫画 | Java多线程与并发(一)


14、Java中的同步集合与并发集合有什么区别?


漫画 | Java多线程与并发(一)


15、同步方法和同步块,哪个是更好的选择?


漫画 | Java多线程与并发(一)


关注后端技术精选、收看更多漫画推文

漫画 | Java多线程与并发(一)

发表评论