51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#并发
Java并发编程之CAS
CAS(CompareandSwap,比较并交换):CAS操作包含三个操作数——内存位置(V)、预期原值(A)和新值(B)。如果内存位置的值与预期原值相匹配,那么处理器会自动将该位置值更新为新值。否则,处理器不做任何操作。利用CPU的CAS指令,同时借助JNI来完成Java的非阻塞算法。其它原子...
代码星球
·
2020-08-09
Java
并发
编程
CAS
Java并发控制:ReentrantLock Condition使用详解
生产者-消费者(producer-consumer)问题,也称作有界缓冲区(bounded-buffer)问题,两个进程共享一个公共的固定大小的缓冲区。其中一个是生产者,用于将消息放入缓冲区;另外一个是消费者,用于从缓冲区中取出消息。问题出现在当缓冲区已经满了,而此时生产者还想向其中放入一个新的数据项的情形,其解决方法...
代码星球
·
2020-08-09
Java
并发
控制
ReentrantLock
Condition
阻塞队列LinkedBlockingQueue和并发队列ConcurrentLinkedQueue
这两个队列都是线程安全的。LinkedBlockingQueue:publicclassLinkedBlockingQueue<E>extendsAbstractQueue<E>implementsBlockingQueue<E>,Serializable此队列按FIFO(先进先出)...
代码星球
·
2020-08-09
队列
阻塞
LinkedBlockingQueue
并发
ConcurrentLinkedQueue
提高代码性能及并发性的方法浅谈
最近在做系统调优,总结了下cache相关知识,以及如何提高性能和并发性能的方法。一CACHE相关1.cache概述cache,中译名高速缓冲存储器,其作用是为了更好的利用局部性原理,减少CPU访问主存的次数。简单地说,CPU正在访问的指令和数据,其可能会被以后多次访问到,或者是该指令和数据附近的内存区域,也可能会被多次...
代码星球
·
2020-08-09
提高
代码
能及
并发
性的
go 单进程并发
demo1//Thissampleprogramdemonstrateshowtocreategoroutinesand//howtheschedulerbehaves.packagemainimport("fmt""runtime""sync")//mainistheentrypointforallGop...
代码星球
·
2020-08-09
go
单进程
进程
并发
go 并发 demo
两个进程执行两个goroutine//Thissampleprogramdemonstrateshowtocreategoroutinesand//howtheschedulerbehaves.packagemainimport("fmt""runtime""sync")//mainistheentrypo...
代码星球
·
2020-08-09
go
并发
demo
go 并发
packagemainimport("fmt""time")funcsay(sstring){fori:=0;i<5;i++{time.Sleep(100*time.Millisecond)fmt.Println(s)}}funcmain(){gosay("hello1")say("hello2")}...
代码星球
·
2020-08-09
go
并发
通过gevent实现【单线程】下的多socket并发
serverimportsysimportsocketimporttimeimportgeventfromgeventimportsocket,monkeymonkey.patch_all()defserver(port):s=socket.socket()s.bind(('0.0.0.0',port))s...
代码星球
·
2020-08-09
通过
gevent
实现
单线程
线程
【Scala】Actor并发编程实现单机版wordCount
文章目录对单个文本文件进行单词计数对多个文本文件进行单词计数importscala.actors.Actorimportscala.io.Source//读取文件名称样例类caseclassSubmitTask(fileName:String)classActor2WordCountextendsActor{overr...
代码星球
·
2020-08-09
Scala
Actor
并发
编程
实现
初识 JAVA并发编程 笔记
线程:CPU执行的最小执行单元并发/高并发(服务端能够承载的吞吐量)1、硬件基础CPU核心数,内存,磁盘[机械硬盘,固态硬盘],网络2、软件层面(最大化的利用硬件资源)线程数量、JVM内存分配大小、网络通讯机制(BIO、NIO、AIO)、磁盘IO3、线程数量如何提升服务端的并发数量好比:单行车道,和多行车道并发和并行单...
代码星球
·
2020-08-08
初识
JAVA
并发
编程
笔记
多线程并行和并发的区别
并行就是两个任务同时运行,就是甲任务进行的同时,乙任务也在进行。(需要多核CPU) 并发是指两个任务都请求运行,而处理器只能按受一个任务,就把这两个任务安排轮流进行,由于时间间隔较短,使人感觉两个任务都在运行。...
代码星球
·
2020-08-08
线程
并行
并发
区别
ConcurrentModificationException并发修改异常
A:ConcurrentModificationException出现:/*Iteratorit=list.iterator();//获取迭代器while(it.hasNext()){//判断集合中是否有元素Stringstr=(String)it.next();//向下转型if("world".equals(str)...
代码星球
·
2020-08-07
ConcurrentModificationException
并发
修改
异常
Go语言基础之并发
并发是编程里面一个非常重要的概念,Go语言在语言层面天生支持并发,这也是Go语言流行的一个很重要的原因。并发:同一时间段内执行多个任务(你在用微信和两个女朋友聊天)。并行:同一时刻执行多个任务(你和你朋友都在用微信和女朋友聊天)。Go语言的并发通过goroutine实现。goroutine类似于...
代码星球
·
2020-08-07
Go
语言基础
并发
Servlet的多线程并发问题
注意:servlet对象在tomcat服务器是单实例多线程的。因为servlet是多线程的,所以当多个servlet的线程同时访问了servlet的共享数据,如成员变量,可能会引发线程安全问题。 解决办法: &nbs...
代码星球
·
2020-08-06
Servlet
线程
并发
问题
boost并发编程boost::atomic
三个用于并发编程的组件:atomic,thread,asio(用于同步和异步io操作) atomic,封装了不同计算机硬件的底层操作原语,提供了跨平台的原子操作功能,解决并发竞争读写变量的困扰。包含头文件<boost/atomic.hpp>,atomic可以把对类型T的操作原子化,T的要求:1.标...
代码星球
·
2020-08-05
boost
并发
编程
atomic
首页
上一页
...
19
20
21
22
23
...
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他