51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#程并发
秒杀核心设计(减库存部分)-防超卖与高并发
商品详情页面的静态化,varnish加速,秒杀商品库独立部署服务器这种就略过不讲了。只讨论库存部分的优化mysql配置层面的优化可以参考我的这篇文章 《关于mysqlinnodb引擎性能优化的一点心得》重点设计在数据库层面。2张表:第一张:判重表(buy_record),该用户有没秒杀过该商品字段:id,ui...
代码星球
·
2020-08-11
秒杀
核心
设计
库存
部分
高并发下Redis如何保持数据一致性(避免读后写)
通常意义上我们说读后写是指针对同一个数据的先读后写,且写入的值依赖于读取的值。关于这个定义要拆成两部分来看,一:同一个数据;二:写依赖于读。(记住这个拆分,后续会用到,记为定义一、定义二)只有当这两部分都成立时,读后写的问题才会出现。在项目中,当面对较多的并发时,使用redis进行读后写操作,是非常容易出问题的,常常使...
代码星球
·
2020-08-11
高并发
并发
Redis
如何
保持
Python面试网络编程和并发
OSI开放系统互联参考模型,它是理论的,参考模型 七层:物理层->数据链路层->网络层->传输层->会话层->表示层->应用层 c/s:客户端/服务端 b/s:浏览器/服务端详情 ARP(Ad...
代码星球
·
2020-08-09
Python
面试
网络编程
并发
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 并发 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
语言基础
并发
首页
上一页
...
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
其他