JUC并发编程(二)-进程和线程回顾

本文回顾了进程和线程的概念,解释了并发与并行的区别,并详细探讨了线程的状态,特别是线程的阻塞状态,包括wait()、notify()、suspend()、resume()等方法的区别及使用注意事项。同时,对比了wait()与sleep()的差异,强调了在并发编程中正确使用这些机制的重要性。
摘要由CSDN通过智能技术生成

2、进程和线程回顾

2.1. 什么是进程 /线程

进程 / 线程是什么?

进程:像 QQ.exe 、 Music.exe 、程序就是一个进程

线程:一个进程中可能包含多个线程,至少包含一个。JAVA至少包括两个线程:main和GC 线程。

2.2. 并发/并行是什么

并发 / 并行是什么?

并发编程? 并发。并行;

并发:多线程,多个线程操作一个资源类,CPU快速交替的执行。

并行:多核多CPU。多核多CPU可以并行执行。

举例:

你吃饭,吃到一半,电话来了,3种情况

1、吃完再去接电话 (单线程)

2、先接电话再吃(交替,也就是并发)

3、边吃边接电话(并行)

一个CPU 的电脑,能不能并行执行任务?

不能。必须在多核多CPU下才能并行执行。

CPU密集型、IO密集型,这两个概念后面再说。

所以说,并发编程的主要目的是:充分利用CPU的资源,提高性能!

2.3. 线程的状态

线程的状态

线程的状态有6种,是定义在Thread类中的枚举类State。

在这里插入图片描述

源码如下:

public enum State {
   
 
    NEW
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值