看书做笔记多线程

线程概述
几乎所有的操作系统都支持同时运行多个任务,一个任务通常就是一个程序,每个运行中的程序就是一个进程。当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程。


线程和进程
几乎所有操作系统都支持进程的概念,所有运行中的任务通常对应一条进程(Process)。当一个
程序进入内存运行,即变成一个进程。进程是处于运行过程中的程序,并且具有一定独立功能,进程是系统进行资源分配和调度的一个独立单位。
一般而言,进程包含如下三个特征:
》独立性:进程是系统中独立存在的实体,它可以拥有自己独立的资源,每一个进程都拥有自
己私有的地址空间。在没有经过进程本身允许的情况下,一个用户进程不可以直接访问其他
进程的地址空间。
》动态性:进程与程序的区别在于,程序只是一个静态的指令集合,而进程是一个正在系统中
活动的指令集合。在进程中加入了时间的概念。进程具有自己的生命周期和各种不同的状态,
这些概念在程序中都是不具备的。
》龙发性,多个进程可以在单个处理器上并发执行,多个进程之间不会互相影响。


并发性(concurrency)和并行性〔parallel )是两个概念,并行指在同一时刻,有多
条指令在多个处理器上同时执行;并发指在同一时刻只能有一条指令执行,但多个进程
指令被快速轮换执行,使得在宏观上具有多个进程同时执行的效果.

一个程序运行后至少有一个进程,一个进程里可以包含多个线程,但至少要包含一个线程。

继承Thread类创建线程类
通过继承Thread类来创建并启动多线程的步骤如下:
1.定义Thread类的子类,并重写该类的run方法,该run方法的方法体就是代表了线程需要完
成的任务。因此,我们经常把r方法称为线程执行体。
2.创建Thread子类的实例,即使创建了线程对象。
3.用线程对象的start方法来启动该线程。

原文地址:https://www.cnblogs.com/liehuonanjue/p/8544633.html