基本概念阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法。1)支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满。2)支持阻塞的移除方法:意思是在队列为空时,获取元素的线程会等待队列变为非空阻塞队列一共有7种,我们着重讲一下ArrayBlockingQueue,LinkedBlockingQueue,DelayQ
分类:
其他好文 时间:
2020-07-12 23:54:28
阅读次数:
88
同步:如果有个资源池,其中有个字符串S,如果B线程在读取这个字符串时,A线程也在修改这个字符串,就会导致B线程读取的字符串未知性。 此时,如果B线程读字符串S时,A线程不允许访问字符串S,等到B线程读完后,A线程才允许修改字符串S这样的过程叫同步。 异步:A流程请求第三方接口B之后,不需要等待B应答 ...
分类:
编程语言 时间:
2020-07-12 22:39:52
阅读次数:
116
Condition condition.await() > aqs.await():1、先addConditionWaiter(),把当前节点加入到Condition队列中(等待队列),waitStatus=-2,这个入队的流程和AQS有些类似,但是这里没有空的头结点,入队的线程节点自身就是头结点, ...
分类:
其他好文 时间:
2020-07-12 20:27:20
阅读次数:
67
进程的状态及转换 进程的三态模型 执行(running)态:进程占有处理器正在运行的状态。 进程已获得CPU,其程序正在执行。在单处理机系统中,只有一个进程处于执行状态; 在多处理机系统中,则有多个进程处于执行状态。 就绪(ready)态:进程具备运行条件,等待系统分配处理器以便运行的状态。 当进程 ...
分类:
系统相关 时间:
2020-07-12 16:40:12
阅读次数:
84
首先要保证pc上可以连接上网络,然后进行下面的操作: 1.首先选择VMware的编辑选项 2.选择虚拟网络编辑器 3.还原默认设置,等待几分钟,确定就可以解决了 ...
分类:
系统相关 时间:
2020-07-12 16:31:03
阅读次数:
119
Busy spin 是一种在不释放 CPU 的基础上等待事件的技术。它经常用于避免丢 失 CPU 缓存中的数据(如果线程先暂停,之后在其他 CPU 上运行就会丢失)。 所以,如果你的工作要求低延迟,并且你的线程目前没有任何顺序,这样你就可 以通过循环检测队列中的新消息来代替调用 sleep() 或 ...
分类:
其他好文 时间:
2020-07-12 15:05:26
阅读次数:
192
基本概念 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法。1)支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满。 2)支持阻塞的移除方法:意思是在队列为空时,获取元素的线程会等待队列变为非空 阻塞队列一共有7种 ...
分类:
其他好文 时间:
2020-07-12 14:21:06
阅读次数:
54
前言 windows系统中的右键菜单项随着电脑的使用会越来越多,其中安装了VS之后,则会存在一个在VS中打开选项,很容易不小心点击上去,就需要等待VS软件的启动,然后还得关闭,很烦人。 方法 通过删除注册表中项目来解决 打开注册表编辑器:windows+R打开运行,输入regedit命令。 定位HK ...
1 简介 参考视频:https://www.bilibili.com/video/BV1XW411x7NU?p=61 说明:UDP是面向无连接的,客户端并不与服务器不建立连接,直接向服务器发送数据,服务器端也不从客户端接收连接,只负责调用接收函数,等待客户端连接的到达。 udp通信模型如下: (1) ...
分类:
其他好文 时间:
2020-07-11 22:48:55
阅读次数:
80
Linux定时任务--Crond使用教程 1. 介绍Crond crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任 ...
分类:
系统相关 时间:
2020-07-11 22:36:43
阅读次数:
115