Java并发编程论述pdf
并发编程论述题⽬01请你说⼀说什么是线程和进程• 线程和进程的区别及关系进程是程序运⾏的基本单位⼀个JAVA程序的进程对应了⼀个JVM虚拟机实例.进程启动后会为其分配固定的内存空间进程和进程之间的内存空间是相互独⽴的.线程是⼀个抽象的概念进程内部会创建多个线程去并发地执⾏计算任务.线程与线程之间共享JVM中的堆和⽅法区空间但是虚拟栈是相互独⽴的.进程创造了多个线程他通过划分⾃⼰固有的内存空间给多个线程实现并发并⾏地执⾏多个任务.但线程只是⼀个虚拟逻辑上的概念可以理解为⼀种灵活地运⽤已有内存空间去并发并⾏地执⾏任务的技术.• 线程的上下⽂切换是什么线程上下⽂切换是基于CPU时间⽚算法诞⽣的产物.⼀个CPU内核在同⼀时间下只能执⾏⼀个线程的计算.为了能够提⾼执⾏的效率并发的去执⾏多线程的计算任务提出了CPU时间⽚算法.CPU为每⼀个线程分配时间⽚ 时间⽚⼀般⼏⼗毫秒当该线程在CPU上执⾏完时间⽚⻓度时间的计算后就会被踢出CPU并挂起该CPU会被分配给其他的线程执⾏程序.但是CPU时间⽚算法这么操作就会导致线程还没完成就被挂