首页 > 编程语言 >java并发编程(一)-线程相关的基本概念

java并发编程(一)-线程相关的基本概念

时间:2022-11-30 14:36:29浏览次数:40  
标签:java 队列 编程 调度 并发 线程 进程 CPU


CPU核心数和线程数的关系

核心数:线程数 = 1:1

intel引入超线程技术之后--》 核心数:线程数 = 1:2

CPU时间片轮转机制-又称RR 调度 

时间片轮转法(Round-Robin,RR)主要用于分时系统中的进程调度。为了实现轮转调度,系统把所有就绪进程按先入先出的原则排成一个队列。新来的进程加到就绪队列末尾。每当执行进程调度时,进程调度程序总是选出就绪队列的队首进程,让它在 CPU 上运行一个时间片的时间。时间片是一个小的时间单位,通常为 10~100ms 数量级。当进程用完分给它的时间片后,系统的计时器发出时钟中断,调度程序便停止该进程的运行,把它放入就绪队列的末尾;然后,把 CPU 分给就绪队列的队首进程,同样也让它运行一个时间片,如此往复。

什么是进程和线程

进程:程序运行资源分配的最小单位,进程内部有多个线程,会共享这个进程的资源
线程:CPU调度的最小单位,必须依赖进程而存在。

并行和并发

并行:同一时刻,可以同时处理事情的能力
并发:与单位时间相关,在单位时间内可以处理事情的能力

举例:

并行:卖奶茶的地方,有三个队伍卖奶茶,这时候我们说并行为3,强调同时

并发:卖奶茶的地方,只有一个队伍卖奶茶,队伍的长度为并发,强调在某段时间内,处理事情的能力

高并发编程的优缺点

优点:可以充分的利用cpu的资源、加快用户响应的时间,程序模块化,异步化。

缺点:

         1. 多线程共享资源,多线程之间存在冲突。

         2. 容易导致计算机死锁。

         3. 启用太多的线程,容易导致机器宕机。

 

 

标签:java,队列,编程,调度,并发,线程,进程,CPU
From: https://blog.51cto.com/u_14906615/5899431

相关文章

  • java并发编程(三)-线程的协作式
    怎么样才能让Java里的线程安全停止工作呢?一般来说:程序执行完或者抛出异常。怎么用代码的方式将线程停止呢?可以看到stop(),resume(),suspend()已不建议使用,stop()会导致线程......
  • 【JAVA基础】SQL示例
    SQL示例insert操作<!--id属性:表示映射的接口中方法的名称,直接标签的内容部来编写SQL语句--><!--useGeneratedKeys="true"表示开启某个字段的值递增(大部分都是......
  • Java 集合框架1:Collection
    目录集合框架1.概述2.Collection基本方法容器遍历容器实现元素排序3.Collections包装器实现(WrapperImplementations)Empty对象不可变单例Set(ImmutableSingletonSet)不可......
  • java 环境变量配置详细教程(2023 年全网最详细)
    前言:在上一篇文章中,壹哥给大家重点讲解了Java实现跨平台的原理,不知道你现在有没有弄清楚呢?如果你还有疑问,可以在评论区留言~之前的三篇文章,主要是理论性的内容,其实你暂......
  • Promise手动实现和Async Await拓展(JavaScript)
    Promise手动实现咱们来看一段Promise的代码:letp1=newPromise((resolve,reject)=>{resolve('成功')reject('失败')![]()})console.log('p1',p1)le......
  • 生产环境连接池和线程池配置参考
    <beanid="dataSource1"class="org.apache.commons.dbcp.BasicDataSource"><propertyname="driverClassName"value="${db.jdbc.driverClassName}"/><propertynam......
  • java排序算法
     一.冒泡排序特点:实现简单,无额外空间消耗,速度较慢,适合数据较少的场景,复杂度为O(N^2)思路:每一轮比较都从头开始,然后两两比较,如果左值比右值大,则交换位置,每一......
  • 实验四 Web服务器1-socket编程
    实验要求:基于华为鲲鹏云服务器CentOS中(或Ubuntu),使用LinuxSocket实现:time服务器的客户端服务器,提交程序运行截图echo服务器的客户端服务器,提交程序运行截图,服务器把......
  • Java核心技术解析
    ​​JUCJMM与线程安全​​​​JUC指令重排与内存屏障​​​​JUCJava内存模型FAQ​​​​JUC同步和Java内存模型​​​​JUCvolatile实现原理​​​​JUCAQS详解​​......
  • 教你用JavaScript完成轮播图
    案例介绍欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了!我们来用JavaScript编程实战案例,做一个轮播图。图片每3秒自动轮换,也可以点击左右按键轮播图片,当图片......