JUC之线程和进程

什么是JUC:java.util.concurrent+java.util.concurrent.atomic+java.util.concurrent.locks

进程:是程序运行和资源分配的基本单位

线程是CPU调度和分派的 能够独立运行的基本单位

一个进程往往可以包含多个线程,至少包含一个,Java默认有2个线程:main+GC

java真的可以开启线程吗?不可以:

调用的本地方法,底层为c++,Java无法直接操作硬件。

并发:多个任务交替使用同一个cpu核心,宏观上看起来一起再跑,微观上同一时刻只有一个任务在执行,依靠cpu快速切换任务(时间片轮转)实现。

并行:多个任务在多个cpu核心上,真正同一时刻一起执行。多核cpu才能做到。

线程的几种状态:NEW,RUNNABLE,BLOCKED,WAITING,TIMED_WAITING,TERMINATED

wait/sleep的区别:

1.来自不同的类,wait来自Object,sleep来自Thread

2.关于锁的释放,wait会释放锁,sleep不会

3,使用范围不同,wait必须在同步代码快中,sleep无限制

4,关于捕获异常,wait不需要,sleep需要捕获异常

相关推荐
Bs_MoneyMagnet1 小时前
基于springboot+vue的旅游行程分享与推荐小程序的设计与实现 源码+文档
java·vue.js·spring boot·后端·微信小程序·毕业设计·计算机毕业设计
一技安身1 小时前
【信创】统信UOS 银河麒麟离线部署Python3.11完整方案
android·java·python3.11
陈皮波比茶1 小时前
k8s 快速入门
java·kubelet
Json____2 小时前
基于 Spring Boot + Vue3 的校园自习室座位预约系统实战
java·管理系统·it学习·wwwoop.com
计算机毕设定制辅导-无忧学长2 小时前
《基于Java的旧物回收管理系统设计与实现》
java·开发语言
彧azz2 小时前
Java学习语法篇:键盘录入
java·笔记·学习
xcl09252 小时前
24小时自助健身房系统开发:从架构设计到落地实践
java·spring boot
焦虑的说说2 小时前
jvm专题
java
ruleslol2 小时前
System Prompt(系统提示词) 的用法
java·ai