能力有限,初级菜??,多线程可是一块庞大的知识块,慢慢总结吧!
文章目录
- 一、多线程基础基础知识
- 1. 并发编程
- 2. 线程与进程
- 3. 创建线程
- 4. 线程状态和基本操作
- 4.1 线程声明周期的6种状态
- 4.2 Java用到的线程调度算法是什么?
- 4.2 Java线程调度策略
- 4.3 什么是线程调度(Thread Scheduler)和时间分片(Time Slicing )
- 4.4 Java线程同步和线程调度的相关方法
- 4.5 sleep()和wait()有什么区别
- 4.6 你是如何调用wait()方法的,使用if还是循环
- 4.7 为什么线程通信方法wait(),notify(),notifyAll()要被定义到Object类中
- 4.8 为什么线程通信方法wait(),notify(),notifyAll()要在同步代码块或同步方法中被调用?
- 4.9 Thread的yiele方法有什么作用?
- 4.10 为什么Thread的sleep和yield是静态的?
- 4.11 线程sleep和yield方法有什么区别
- 4.12 如何停止一个正在运行的线程?
- 4.13 如何在两个线程间共享数据?
- 4.14 同步代码块和同步方法怎么选?
- 4.15 什么是线程安全?Servlet是线程安全吗?
- 4.16 线程的构造方法,静态块是被哪个线程类调用的?
- 4.17 Java中是如何保证多线程安全的?
- 4.18 线程同步和线程互斥的区别
- 4.19 你对线程优先级有什么理解?
- 4.20 谈谈你对乐观锁和悲观锁的理解?
一、多线程基础基础知识
1. 并发编程
1.1 并发编程的优缺点
优点:
- 充分利用多核CPU的计算能力,通过并发编程的形式将多核CPU的计算能力发挥到极致,性能得到提升。
- 方面进行业务的拆分。提高系统并发能力和性能:高并发系统的开发,并发编程会显得尤