工作中,经常会遇到分布式环境中资源访问冲突问题,比如商城的库存数量处理,或者某个事件的原子性操作,都需要确保某个时间段内只有一个线程在访问或处理资源。 因此现在网上也有很多的分布式锁的解决方案,有数据库、MemCache、ZoopKeeper等等的方式。 这次,我们要学习的是一个基于Redis分布式 ...
分类:
Web程序 时间:
2017-03-07 13:16:03
阅读次数:
643
下面的文字均来自其它博客和网页。 参考:http://www.jianshu.com/p/ea9a482ece5f 由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。需要明 ...
分类:
编程语言 时间:
2016-12-23 07:46:26
阅读次数:
185
遇见这种问题一般都是空指针,即:指针里没有赋值~ 如果你对null 进行操作就会产生空指针异常 Object obj = new Object(); 你要知道 obj是一个Object指针变量,指向Object类的一个实例 我们说obj是一个对象 实质是它指向一个对象的首地址 如果这个指针变量obj ...
分类:
其他好文 时间:
2016-10-15 22:28:34
阅读次数:
137
今天遇到一个问题,特在此记录,防止以后再次犯同样的错误:structUserInfo{ CStringUserName;//用户昵称 CStringIP;//用户IP SOCKETsocket;//用户的套接字 booloperator==(constUserInfo&uInfo)const { if(socket==uInfo.socket) returntrue; returnfalse; }};这是我..
分类:
其他好文 时间:
2016-10-15 14:36:15
阅读次数:
1029
一、多张线程与界面处理 1.子线程千万不要访问主线程的UI,(memo,Label),我发现这样做的程序员很多,在diocp中经常会用到onConnected/OnDisconnected事件中直接操作主窗体的Memo。导致程序无法正常退出,或者出现卡死主界面的情况,原因我想可以归纳到访问冲突上面, ...
分类:
其他好文 时间:
2016-09-05 07:59:15
阅读次数:
213
1、以太网两个逻辑
以太网设备发展和链路物理介质速率提升
2、以太网诞生
开始以同轴电缆作为网络媒体,采用载波多路访问和冲突检测(CSMA/CD )机制,传输速率10Mbps
以太网原理-----CSMA/CD
CSMA/CD—载波侦听多路访问/冲突检测,是一种在共享介质条件下多点通讯的有效手段,其基本规则如下:
(1)若介质空闲,传...
分类:
其他好文 时间:
2016-05-12 12:29:35
阅读次数:
256
网络配置与管理底层共享信道争用 使用 mac地址(Media Access Control)
CSMA/CD 以太网 载波侦听多路访问/冲突回位
Token Pring 令牌环
Hub 集线器
冲突域:所有在底层设备上能发生冲突的集合 网桥:是用来分割冲突域的设备
多接口:交换机
广播域:IP地址:4段32位:1.1.1.1(八进制表示) 大...
分类:
系统相关 时间:
2016-05-11 07:23:13
阅读次数:
277
一.对于C语言的函数来说在C语言的时代,可重入函数是说当一个函数被不同的线程访问的时候,每一份调用都独自使用自己的一份数据,多次调用之间不存在数据共享。所以C语言的可重入函数一定是线程安全的,因为根本不存在多个线程共享一份数据的问题,也就不会发生访问冲突。可重..
分类:
编程语言 时间:
2016-05-05 17:48:59
阅读次数:
141
一、mutex互斥量同步:就是对资源的访问有序。互斥:就是任一时刻来说只有一个在执行;但是对于多线程的程序来说,访问冲突的问题是很普遍的,解决的办法是引入互斥锁(Mutex,MutualExclusiveLock),获得锁的线程可以完成“读-修改-写”的操作,然后释放锁给其它线程,没有获得锁的线..
分类:
编程语言 时间:
2016-04-17 23:27:37
阅读次数:
299
在之前,已经学习到了线程的创建和状态控制,但是每个线程之间几乎都没有什么太大的联系。可是有的时候,可能存在多个线程多同一个数据进行操作,这样,可能就会引用各种奇怪的问题。现在就来学习多线程对数据访问的控制吧。 由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题 ...
分类:
编程语言 时间:
2016-04-05 00:14:55
阅读次数:
240