1.与同步模型的优势: 1.有大量的任务,一个时刻内至少有一个任务要运行 2.任务执行大量的I/O,同步模型会因为任务阻塞而浪费大量时间 3.任务之间相互独立,任务内部交互少.2.与同步模式客户端的差别: 1.异步模式会一次性与全部服务器完成连接,而不是同步模式那样一次连接一...
分类:
其他好文 时间:
2014-07-22 22:51:16
阅读次数:
218
非阻塞的程序 应该保障的一些特性 : 等待无关性wait-free:能确保每次的调用在有限的步数之内完成,不管其他调用的步骤有多少。杀掉几个线程 锁无关性lock-free:执行这段程序的某些线程会被延迟,但必须确保至少...
分类:
其他好文 时间:
2014-07-22 09:10:35
阅读次数:
374
在`java.util.conccurent`包中有很多关于并发中可能会使用到的工具类,本文的主角`CountDownLatch`就是其中之一,其实`CountDownLatch`就是一个计数器,在它的计数值变为`0`之前,它的await方法会阻塞当前线程的执...
分类:
编程语言 时间:
2014-07-22 09:00:05
阅读次数:
204
I/O模型 1.io请求划分2个阶段 ? ????等待数据就绪 ????? 从内核缓存区拷贝到进程缓冲区 2.按照请求是否阻塞 ??? ? 同步I/O ? ? ? 异步I/O 3.unix的5种I/O模型 ? ? ? ?阻塞I/O ? ? ? ?非...
分类:
其他好文 时间:
2014-07-21 10:15:50
阅读次数:
218
在这里首先说明一下,由于Phaser在4.3代码里是存在,但并没有被开放出来供使用,但已经被本人大致研究了,因此也一并进行剖析。
Phaser是一个可以重复利用的同步栅栏,功能上与CyclicBarrier和CountDownLatch相似,不过提供更加灵活的用法。也就是说,Phaser的同步模型与它们差不多。一般运用的场景是一组线程希望同时到达某个执行点后(先到达的会被阻塞),执行一个...
分类:
其他好文 时间:
2014-07-19 23:14:19
阅读次数:
437
最近有一个困惑,生产服务器上有一表索引建得乱七八糟,经过整理后需要新建几个索引,再删除几个索引,建立索引时使用联机(ONLINE=ON)创建,查看下服务器负载(磁盘和CPU压力均比较低的情况)后就选择业务时间创建,但是到删除索引时却遇到问题:阻塞,删除索引需要架构修改锁(SCH_M),有阻塞很正常,...
分类:
其他好文 时间:
2014-07-19 15:00:02
阅读次数:
368
1.意义同一个TCP连接来发送和接收多个HTTP请求/应答,而不是为每一个新的请求/应答打开新的连接的方法。2.优较少的CPU和内存的使用允许请求和应答的HTTP pipelining降低网络阻塞减少了后续请求的延迟(无需再进行握手)报告错误无需关闭TCP连接3.缺空闲的连接需要过段时间后才能被断开...
分类:
其他好文 时间:
2014-07-19 14:32:02
阅读次数:
214
读写锁在多线程应用中经常用到。适用于读线程多余写线程的场合。对读线程读取共享资源时不加锁,而对写线程写共享资源时进行加锁控制。先说一下读线程控制:只要此时没有写操作,就可以进行读取。一旦有写操作,则阻塞等待。对于写线程来说,如果此时有读线程正在读取资源,则等待其读取完,然后判断是否所有的读线程是否已...
分类:
其他好文 时间:
2014-07-19 09:25:42
阅读次数:
167
RAC环境下的阻塞不同于单实例情形,因为我们需要考虑到位于不同实例的session.也就是说之前查询的v$session,v$lock相应的应变化为全局范围来查找。本文提供了2个查询脚本,并给出实例演示那些session为阻塞者,哪些为被阻塞者。有关阻塞的概念以及单实例环境下的阻塞请参考:Oracle 阻塞(blocking blocked)1、演示环境scott@DEVDB> select *...
分类:
其他好文 时间:
2014-07-19 02:41:26
阅读次数:
378
Redis主从搭建结构:1).同一个Master可以同步多个Slaves。2).Slave同样可以接受其它Slaves的连接和同步请求,这样可以有效的分载Master的同步压力。因此我们可以将Redis的Replication架构视为图结构。3).MasterServer是以非阻塞的方式为Slaves提供服务。所以在Master-Slave同步..
分类:
其他好文 时间:
2014-07-19 02:12:35
阅读次数:
193