Java多线程基础

一、并发与并行

并发:指多个线程同时操作同一资源(单核cpu)
并行:每个线程使用独立的cpu资源来运行(多核cpu)

QPS:每秒能响应请求数 (QPS=并发数/平均响应时间)
吞吐量:单位时间呢能够处理的请求数
平均响应时间:系统对某一个请求的平均响应时间
并发用户数:系统可以承载的最大用户数

二、进程与线程

进程
受操作系统管理的基本运行单元,是程序的一次动态执行是系统资源分配和调度的基本单位
线程
有进程创建的比进程小的执行单元,一个进程能拥有多个线程,线程是进程中独立运行的子任务(cpu调度的最小单元)


●区别:
· 一个进程至少包含一个线程
·进程有独立的内存,进程之间相互独立,互不干扰
·线程有共同分享的内存空间
·进程相互独立,线程组成进程


三、 线程的创建

我以前的博客:https://blog.csdn.net/qq_46097208/article/details/112904627?spm=1001.2014.3001.5501

四、线程状态及转化

Java中线程的6种状态
●NEW(新建)
创建一个线程,此状态只能启动或终止

●RUNNABLE(就绪)
新建状态的线程调用start方法后,分配运行所需资源,则进入就绪状态,此时一旦线程获得处理器,进入运行状态Running,开始执行Run方法
●BLOCKED(阻塞)
正在运行的线程因放弃CPU使用、休眠等不能继续时,进入阻塞
●WAITING(等待)
当前线程需要等待其他线程做出特定动作(通知、中断)
●TIMED_WAITING(定时等待)
当前线程调用了Wait、Join等方法,进入一个具有最大等待时间的等待状态,及时等待条件没有满足届时也会自动唤醒
●TERMINATED(终止)
线程执行完毕。可以自然撤销(执行完Run方法,从方法中退出)或者强制终止(执行Run 方法出现异常,但没有相应处理)

各种状态之间的转化
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值