Java进程&线程

唯有热爱,恒常如新

一、进程

1.进程的概念

2.PCB核心属性(进程调度)重点&难点

1)pid进程标识符

2)内存指针,该进程依赖的指令和数据都在哪里

3)文件描述符表,该进程打开了哪些文件

4)状态,优先级,上下文,记账信息

二、线程

1.线程的概念

三、进程和线程的区别        重点

1.根本区别:

2.资源开销:

3.包含关系:

4.健壮性:

四、创建线程的方法        重点


一、进程

1.进程的概念

进程:一个程序运行起来,就会对应一个进程。

ps:进程是系统分配资源的基本单位。

2.PCB核心属性(进程调度)重点&难点

1)pid进程标识符

2)内存指针,该进程依赖的指令和数据都在哪里

3)文件描述符表,该进程打开了哪些文件

4)状态,优先级,上下文,记账信息


二、线程

1.线程的概念

线程:可以理解成“进程的子集”,一个进程中,可以有一个线程,或者多个线程。

线程是系统调度执行的基本单位。

引入线程的概念主要原因是为了解决“进程”重量级的问题。

进程进行创建/销毁的代价很大,因此我们引入了线程。

线程也称为“轻量级进程”,创建/销毁的代价较小。

同一个进程的若干线程之间,是共用相同的内存资源和文件资源的,但是每个线程都是独立地在CPU上调度执行的。

线程比进程更轻量的核心在于,创造进程已经进行了资源分配,在之后该进程中创造线程时就无需再次申请资源分配。


三、进程和线程的区别        重点

1.根本区别:

进程是系统资源分配的基本单位,而线程是系统调度执行的基本单位。

2.资源开销:

线程可以认为是轻量级的进程,同一进程的各线程共享资源,每个线程之间切换的开销小。而进程作为重量级,创建和销毁的代价就比线程大。

3.包含关系:

一个进程包含一个或多个线程。

4.健壮性:

一个进程崩溃后,不会影响其他进程,但是会影响该进程下的所有线程。

但一个线程崩溃后,会使该线程的进程崩溃,该进程的所有线程都会坏死。即牵一发而动全身

所以多进程的健壮性比多线程强


四、创建线程的方法        重点

1.创建Thread子类,重写run方法。

run方法描述了线程将要执行什么任务。

后续调用 start 创建线程的时候,线程就会自动把 run 方法进行执行。

2实现Runnable接口,重写run方法。

使用 Runnable 表示任务的具体情况,同时也是为了解耦合。

3.创建Thread类,重写run方法,使用匿名内部类

a)创建一个Thread的子类(具体名字不知道)

b)同时创建这个子类的实例

c)重写run方法

Thread t = new Thread() {
    public void run() {
        while(true) {
            System.out.println("hello thread");
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
};

4.实现Runnable接口,重写run方法,使用匿名内部类

a)创建一个新的类,实现Runnable,但该类的名字是匿名的

b)创建该类的实例(一次性)

c)重写run方法

Thread t = new Thread() {
    public void run() {

    }
});

5.lambda表达式

lambda 本质上就是匿名内部类的平替


Thread t = new Thread(()-> {
   

});

此处的 lambda 就是要代替刚才重写的run


上述5种写法的本质都是:

1.要把线程执行的任务内容表示出来。

2.通过 Thread 的 start 来创建/启动系统中的线程

  • 19
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值