多线程基础
----------------------------------操作系统概念--------------------------------------
1.cpu核心数和线程数的关系:1个cpu核心数:1个线程数
intel超线程技术后:1个cpu核心数:2个线程数。------也就是说一个cpu可以同时运行2个线程
注意:cpu个数:cpu芯片个数
cpu核心数:物理上的,也就是硬件上存在几个核心,2核:2个相对独立的核心单元组
2.cpu时间片轮转机制也叫RR调度:(进程允许的时间)给每个进程分配一个时间段,这个时间段就是这个进程的时间片,时间到了,即使进程运行,cpu也会停止给这个进程服务,换下一个进程。进程运行完时间片还没到,换下一个进程。进行切换。
上下文切换,对上一个进程东西的保存,下个进程的载入。5000-20000
例子:时间片20ms 4ms上下文切换。注意上下文切换时间在线程中。
3.进程:程序运行资源分配最小单位,由操作系统分配的
线程:一个进程有多个线程,共享这个进程资源,是cpu调度的最小单位。
注意:线程自己不拥有自己的资源,进程不能独立运行。
4.并行和并发
并行:同一时刻可以处理几件事的能力。一个食堂有8个窗口,同一时刻有8个人可以点餐。
并发:是一个时间片段,是单位时间内可以处理的事情。
例子:8核cpu 并行度是8, 并发是看单位时间cpu需要多长时间片是多少,处理1件事8s ,8核64s。
----------------------线程------------------------------------
1.启动线程的几种方式;
(1)Thread 类(2)Runnable 接口 另外一个能返回Callable<> java之间的线程是协作式的
2.stop(),suspend()被废弃或不建议使用的;无法保证资源的释放。
interrupt()---标志位true, isInterupt() , static interupt()-----标志位false
浙公网安备 33010602011771号