JUC并发编程学习笔记-01-准备工作,线程,进程,回顾多线程

视频链接
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

线程,进程

Runnable 没有返回值,效率相比Callable相对较低。
进程:一个程序,QQ.exe,Music.exe 程序的集,一个线程往往可以包含多个线程,至少包含一个。java默认有两个线程,main、GC。
线程:开了一个进程Typora,写字,自动保存(线程负责的)。对于java而言:Thread、Runnable,Callable。

java真的可以开启线程吗?
开不了。本地方法,底层的C++,java无法操作

并发:(多线程操作同一个资源),CPU一核,模拟出来多条线程,快速交替。
并行:(多个人一起行走)CPU多核,多个线程可以同时执行。
并发编程的本质,充分利用cpu的资源。

public class test01 {
    public static void main(String[] args) {
        //获取cpu的核数
        //密集型,IO密集型
        System.out.println(Runtime.getRuntime().availableProcessors());
    }

}

回顾多线程

线程有几个状态:代码里的:新生,运行,堵塞,等待,超时等待,终止。
wait/sleep的区别:

  1. 来自不同的类,wait-》Object类,sleep-》Thread
  2. 有没有释放锁,wait会,sleep不会
  3. 使用的范围不同,sleep可以在任何地方谁。wait必须在同步代码块,同步方法中
  4. 是否需要捕获异常,wait不需要捕获,sleep必须要捕获
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值