并发++++++

news/2024/7/5 3:17:02

通信方式: 

管道

 匿名管道 pipe:具有亲缘关系的父子进程间通信

 命名管道 named pipe:均可

信号:软件层次 对中断机制的模拟,通知进程某件事情发生 进程收到信号与处理器

消息队列

共享内存:多个进程可访问,及时看到对方进程数据的更新,同步操作 信号量 互斥锁

信号量:进程间 线程间

套接字:socket 进程间通信机制,网络不同机器进程通信,同一机器可unix domain socket

帮忙记忆:没有逻辑道理

  管道信号 携带 信号量 进入了 消息队列 ,在 套接字 的帮助下 得到了 共享内存

开启线程

new Thread();

implements Runnable

   callable

 stop();  interrupt();

run和start

currentHashMap initTable使用Thread.yield

     暂时让出cpu,让单个线程去初始化

调度:

协同式:自己执行完去通知系统切换另一个线程

抢占式:  系统决定是否切换执行时间

   Thread.yield让cpu执行时间,没有办法获取执行时间,设置优先级可容易不决定

优先级:java线程映射到系统原生线程上,调度最终取决于操作系统,优先级不能11对应

内核线程实现:1:1 直接映射  多系统调用 上下文切换  线程2000,hotspot 

用户线程实现:1:N  语言负责线程生命周期

混合实现:N:M 


http://lihuaxi.xjx100.cn/news/2144112.html

相关文章

生成式AI的情感实验——AI能否产生思想和情感?

机器人能感受到爱吗?这是一个很好的问题,也是困扰了科学家们很多年的科学未解之谜。虽然我们尚未准备好向智能机器赋予情感,但智能机器却已经可以借助生成式人工智能(AI)来帮助我们表达自己的情感。 自然情感表达 AI正…

Java 抽象工厂模式

Java设计模式 - 抽象工厂模式 抽象工厂模式是另一个创建模式。 抽象工厂模式,也称为工厂的工厂,有一个工厂创建其他工厂。 当使用抽象工厂模式时,我们首先使用超级工厂创建工厂,然后使用创建的工厂创建对象。 例子 下面的代码…

游戏引擎中的物理应用

一、 角色控制器 Character Controller和普通的动态对象(Dynamic Actor )是不同的,主要的三个特点是: 它拥有可控制的刚体间的交互假设它是有无穷的摩擦力(可以站停在位置上),没有弹性加速和刹车几乎立即…

Redis底层数据结构-IntSet

IntSet是Redis中set集合的一种实现方式,基于整数数组来实现,并具备长度可变,有序等特征。 结构如下图所示: int8_t contents[]的元素只有一个字节,能表示的整数范围只有-128~127,是不是有点小呀&#xf…

Linux:ip和ip协议的初步认识

文章目录 ip协议基本认识ip协议的报头网段划分ip的类型划分 ip协议基本认识 前面对于TCP的内容已经基本结束了,那么这也就意味着在传输层也已经结束了,那么下一步要进入的是的是网络层,网络层中也有很多种协议,这里主要进行解析的…

扩展频率3225有源晶振SG-9101CE

SG-9101CE是一款小尺寸3225有源晶振。随着市场小型化、多功能、高信赖度的电子产品需求量大增,产品开发周期时间要求越来越短,传统的石英晶振性能优异,但设计制造周期相对较长,如果有工程师便的因为项目急需特殊频点,特…

部署k8s客户端,及docker私仓部署

1.部署一个docker私仓 mkdir /opt/docker/registry #配置仓库密码 mkdir /opt/docker/auth cd /opt/docker/auth htpasswd -Bbn admin admin > htpasswd#运行docker私仓服务,下面端口5000:5000 前面的5000对应本机端口可以自定义 docker run -itd \ -v /opt/d…

Python网络爬虫(三):Selenium--以携程酒店为例

1 Selenium简介 Selenium是一个用于网站应用程序自动化的工具,它可以直接运行在浏览器中,就像真正的用户在操作一样。它相当于一个机器人,可以模拟人类在浏览器上的一些行为,比如输入文本、点击、回车等。Selenium支持多种浏览器&…