Process & Thread
1.概念
程序是数据和指令的有序集合,其本身没有运行的含义,是一个静态的概念
进程是执行程序的一次执行过程,它是一个动态的概念,是系统资源分配的单位
通常在一个进程中包含若干个线程,一个进程至少包含一个线程,线程是cpu调度和执行的单位
2.核心概念
线程就是独立的执行路径
程序运行时,就算自己没有创建线程,后台也会有多个线程,例如:主线程,gc线程
main称为主线程,是系统的入口,用于整个程序的执行
一个进程中,如果开辟了多个线程,线程的运行由调度器安排调度,调度器是与操作系统密切相关的,先后顺序是不能人为干预的
对同一份资源操作时,会存在资源抢夺的问题,需要加入并发控制
线程会带来额外的开销,如cpu调度时间,并发控制开销
每个线程在自己工作内存交互,内存控制不当会造成数据不一致
3.线程创建
1.Thread class(重点)
1)继承Thread类
2)重写run()方法
3)调用start开启线程
public class TestThread extends Thread{ @Override public void run() { //run方法线程体 for (int i = 0; i < 20; i++) { System.out.println("我在看代码....." + i); } } //main线程,主线程 public static void main(String[] args) { //创建一个线程对象 TestThread testThread = new TestThread(); //调用start方法 testThread.start(); } }
注意:线程开启不一定立即执行,由cpu调度执行
2.Runnable接口(重点)
3.Callable接口(了解)

浙公网安备 33010602011771号