多线程基础

----------------------------------操作系统概念--------------------------------------

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

 

posted @ 2020-03-18 23:34  看星星的小蘑菇  阅读(61)  评论(0)    收藏  举报