text: (window.webpackJsonp=window.webpackJsonp||[]).push([[234],{581:function(t,v,_){"use strict";_.r(v);var s=_(42),l=Object(s.a)({},(function(){var t=this,v=t.$createElement,_=t._self._c||v;return _("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[_("h1",{attrs:{id:"线程概述"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#线程概述"}},[t._v("#")]),t._v(" 线程概述")]),t._v(" "),_("div",{staticClass:"custom-block tip"},[_("p",{staticClass:"custom-block-title"},[t._v("并发与并行")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("并发")]),t._v("：指两个或多个事件在"),_("strong",[t._v("同一个时间段内")]),t._v("发生，交替进行。")]),t._v(" "),_("li",[_("strong",[t._v("并行")]),t._v("：指两个或多个事件在"),_("strong",[t._v("同一时刻")]),t._v("发生（同时发生）。")])])]),t._v(" "),_("p",[t._v("单核处理器的计算机是不能并行的处理多个任务的，只能是多个任务在单个CPU上并发运行。同理,线程也是一样的，从宏观角度上理解线程是并行运行的，但是从微观角度上分析却是串行运行的，即一个线程一个线程的去运行，当系统只有一个CPU时，线程会以某种顺序执行多个线程，我们把这种情况称之为线程调度。")]),t._v(" "),_("div",{staticClass:"custom-block tip"},[_("p",{staticClass:"custom-block-title"},[t._v("线程与进程")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("进程")]),t._v("：是指一个内存中运行的应用程序，每个进程都有一个独立的内存空间，一个应用程序可以同时运行多个进程；进程也是程序的一次执行过程，是系统运行程序的基本单位；系统运行一个程序即是一个进程从创建、运行到消亡的过程。")]),t._v(" "),_("li",[_("strong",[t._v("线程")]),t._v("：线程是进程中的一个执行单元，负责当前进程中程序的执行，一个进程中至少有一个线程。一个进程中是可以有多个线程的，这个应用程序也可以称之为多线程程序。")])])]),t._v(" "),_("p",[t._v("简而言之：一个程序运行后至少有一个进程，一个进程中可以包含多个线程")]),t._v(" "),_("p",[_("strong",[t._v("线程调度:")])]),t._v(" "),_("ul",[_("li",[_("p",[t._v("分时调度")]),t._v(" "),_("p",[t._v("所有线程轮流使用 CPU 的使用权，平均分配每个线程占用 CPU 的时间。")])]),t._v(" "),_("li",[_("p",[t._v("抢占式调度")]),t._v(" "),_("p",[t._v("优先让优先级高的线程使用 CPU，如果线程的优先级相同，那么会随机选择一个(线程随机性)，Java使用的为抢占式调度。")]),t._v(" "),_("ul",[_("li",[_("p",[t._v("设置线程的优先级")])]),t._v(" "),_("li",[_("p",[t._v("抢占式调度详解")])])]),t._v(" "),_("p",[t._v("大部分操作系统都支持多进程并发运行，现在的操作系统几乎都支持同时运行多个程序。比如：现在我们上课一边使用编辑器，一边使用录屏软件，同时还开着画图板，dos窗口等软件。此时，这些程序是在同时运行，”感觉这些软件好像在同一时刻运行着“。")]),t._v(" "),_("p",[t._v("实际上，CPU(中央处理器)使用抢占式调度模式在多个线程间进行着高速的切换。对于CPU的一个核而言，某个时刻，只能执行一个线程，而 CPU的在多个线程间切换速度相对我们的感觉要快，看上去就是在同一时刻运行。\n其实，多线程程序并不能提高程序的运行速度，但能够提高程序运行效率，让CPU的使用率更高。")])])])])}),[],!1,null,null,null);v.default=l.exports}}]);