Java并发编程--基础知识(进程,线程,多线程,死锁)

我是一个计算机专业研0的学生卡蒙Camel🐫🐫🐫(刚保研)
记录每天学习过程(主要学习Java、python、人工智能),总结知识点(内容来自:自我总结+网上借鉴)
希望大家能一起发现问题和补充,也欢迎讨论👏👏👏

基础知识

进程与线程

介绍

进程 (Process)

  • 定义:进程是程序执行时的一个实例。是系统运行程序的基本单位,也是进行资源分配和调度的基本单位

在计算机中,每个进程都有自己独立的内存空间,包括代码、数据和堆栈等,同时拥有一组系统资源,如文件描述符、信号、处理器状态等。

  • 特点:
    • 独立性:每个进程在执行过程中都是独立的,一个进程的崩溃不会影响其他进程。
    • 资源分配:操作系统为每个进程分配独立的内存空间和资源,进程间相互隔离。
    • 可调度性:操作系统可以对进程进行调度,分配处理器时间片,以实现多任务并发执行。

线程 (Thread)

  • 定义:线程是进程内的一个执行单元,是操作系统能够进行运算调度的最小单位。一个进程可以包含多个线程,它们共享进程的方法区资源。但每个线程有自己的程序计数器虚拟机栈本地方法栈。系统在产生一个线程,或是在各个线程之间做切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程
  • 特点:
    • 共享资源:同一进程内的线程共享进程的地址空间和系统资源,可以直接访问共享数据。
    • 轻量级:相对于进程来说,线程的创建和切换开销较小,可以更高效地实现并发。
    • 并发性:多个线程可以在同一进程内并发执行,提高程序的响应速度和资源利用率。

线程和进程关系

总结:线程是进程划分成的更小的运行单位。线程和进程最大的不同在于基本上各进程是独立的,而各线程则不一定,因为同一进程中的线程极有可能会相互影响。线程执行开销小,但不利于资源的管理和保护;而进程正相反。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值