对于CAS是一种有别于synchronized的一种乐观锁实现.是一种非阻塞锁算法.CAS通过与原始预期值进行比较来确定是否修改主内存中数据的一种方案.基于一个线程的失败或者挂起不应该影响其他线程的失败或挂起这样的前提,而提出硬件层次的实现数据处理的互斥。可以自动更新共享数据,而且能够检测到其他线程的干扰,而
compareAndSet() 就用这些代替了锁定。对于实现CAS的原子类(Atom...
分类:
编程语言 时间:
2014-08-21 13:26:04
阅读次数:
236
最近想学习一下libevent,就先翻译一下libevent的官方文档吧.英文原文链接:http://www.wangafu.net/~nickm/libevent-book/01_intro.html大部分编程初学者都是从阻塞IO开始的。何谓阻塞IO?,即你进行一个IO调用时,除非这个操作完成,或...
分类:
其他好文 时间:
2014-08-20 22:27:22
阅读次数:
303
之前写过一个用python实现的百度新歌榜、热歌榜下载器的博文,实现了百度新歌、热门歌曲的爬取与下载。但那个采用的是单线程,网络状况一般的情况下,扫描前100首歌的时间大概得到40来秒。而且用Pyqt做的界面,在下载的过程中进行窗口操作,会出现UI阻塞的现象。前两天有时间调整了一下,做了几方面的改进...
分类:
编程语言 时间:
2014-08-20 22:18:52
阅读次数:
491
题目大意:
关于网络阻塞命令延迟的处理。
命令就分为三种对栈的处理。
但是如果接收到一个操作,它后面的操作都要先取消不做,再做这个操作,再做之前取消了的操作。
思路分析:
题目也就转化成了,给出一个时间t接收到peak操作,找到第一个最大的 l ,使得 sum[l - t] > 0...
然后的问题我们就是如何确定最大的l。
我们记录sum的同时再记录一个右边最大。
然后我...
分类:
其他好文 时间:
2014-08-20 18:08:22
阅读次数:
202
阅读ArrayBlockingQueue源码,很容易知道有界阻塞队列的长度至少为1,也就是至少能缓存下一个数据。SynchronousQueue的javadoc文档提到A synchronous queue does not have any internal capacity, not even a capacity of one.也就说同步队列的容量是0,不会缓存数据。
长度为1的阻塞队列和...
分类:
其他好文 时间:
2014-08-19 20:56:35
阅读次数:
298
对消息的处理有些麻烦,要保证各种确认。为了确保消息的100%发送成功,笔者在之前的基础上做了一些改进。其中要用到多线程,用于重复发送信息。所以查了很多关于线程安全的东西,也看到了阻塞队列,发现这个模式很不错,可惜我目前用不到。关于这个的讲解已经很多了,阻塞这个,就是当队列中没有数据的时候,线程读取的...
分类:
编程语言 时间:
2014-08-19 18:28:35
阅读次数:
289
1、nginx相对于apache的优点:? 轻量级,同样起web?服务,比apache 占用更少的内存及资源? 抗并发,nginx?处理请求是异步非阻塞的,而apache?则是阻塞型的,在高并发下nginx?能保持低资源低消耗高性能? ap...
分类:
其他好文 时间:
2014-08-19 16:57:15
阅读次数:
166
使用synchronized(XXX.class)锁类对象 阻塞后台服务进程,使之一直运行...
分类:
其他好文 时间:
2014-08-19 16:40:55
阅读次数:
182
acl 工程从发布至今已经有近10年历史,已经被一些大公司的重要项目所使用,该工程提供了跨平台(LINUX, FreeBSD, WIN32, Solaris, MacOS)的网络通信库,其中包含了阻塞非阻塞两种通信方式,内部事件引擎支持 select/poll/epoll(linux)/kqueue(BSD)/devpool(solaris)/iocp(win32)/窗口消息(win32);另外,acl 库中的网络服务器框架是 acl 中最为重要的模块(其来源于著名的Postfix,由其中的 master ...
分类:
其他好文 时间:
2014-08-19 11:02:24
阅读次数:
310