一个好的application一定要有可靠的测试用例,类似gen_server有启动进程类的Eunit怎么写?有并发的怎么写?
分类:
其他好文 时间:
2014-05-15 09:36:33
阅读次数:
218
当客户端请求速度远远大于服务端的处理速度,这时候就非常适合使用GuardedSuspention模式packagecn.fcl.guardendSuspension;
importjava.util.ArrayList;
importjava.util.List;
publicclassRequestQueue{
privateList<Integer>integers=newArrayList<Integer>();
..
分类:
编程语言 时间:
2014-05-15 09:08:21
阅读次数:
283
并发所描述的概念就是同时运行多个任务。这些任务可能是以在单核 CPU
上分时(时间分享)的形式同时运行,也可能是在多核 CPU
上以真正的并行方式来运行。这篇文章是作者在学习iOS开发技术当中,遇到多线程问题时捋顺思路时的一些看法。 GCD是iOS开发当中解决多核开发的一个技术。
主要有三种...
分类:
移动开发 时间:
2014-05-15 02:19:14
阅读次数:
393
多线程中级,包含控制线程的几种方法、线程的同步、线程组,有返回值的线程、线程之前的通信、线程池和线程的几个相关类...
分类:
编程语言 时间:
2014-05-15 01:37:37
阅读次数:
275
前段时间研究过一阵子无锁化编程。刚写了几个简单的程序,来验证了下自己学到的一些概念。
测试场景:假设有一个应用:现在有一个全局变量,用来计数,再创建10个线程并发执行,每个线程中循环对这个全局变量进行++操作(i++),循环加2000000次。
所以很容易知道,这必然会涉及到并发互斥操作。下面通过三种方式来实现这种并发操作。并对比出其在效率上的不同之处。
......
通过编程测试及测试得出结论:
1、如果是想用全局变量来做统计操作。而又不得不考虑多线程间的互斥访问的话,最好使用编译器支持的原子操作函...
分类:
其他好文 时间:
2014-05-15 00:17:24
阅读次数:
390
(大部分为翻译)Concurrency vs. Parallelism 并发 vs
并行并发并不一定同时运行,比如使用时间片,使得两个任务交替执行。而并行是执两个任务真正的同时执行。Asynchronous vs. Synchronous 同步
vs 异步 如果一个方法被调用后,调用者只能等到此方....
分类:
其他好文 时间:
2014-05-14 23:12:26
阅读次数:
374
/proc/sys/net/ipv4/tcp_max_tw_buckets
默认的太小了net.ipv4.tcp_syncookies = 0这个参数是怎么得来的?其实是通过ab 简单的压力测试,/var/log/message
里面会有内核的报错信息。
分类:
其他好文 时间:
2014-05-14 22:56:49
阅读次数:
349
问题
最近项目中遇到了一个分布式系统的并发控制问题。该问题可以抽象为:某分布式系统由一个数据中心D和若干业务处理中心L1,L2 ... Ln组成;D本质上是一个key-value存储,它对外提供基于HTTP协议的CRUD操作接口。L的业务逻辑可以抽象为下面3个步骤:
read: 根据keySet {k1, ... kn}从D获取keyValueSet {k1:v1, ... kn:vn...
分类:
Web程序 时间:
2014-05-14 21:10:05
阅读次数:
474
ReentrantLock是一个可重入的互斥锁,实现了接口Lock,和synchronized相比,它们提供了相同的功能,但ReentrantLock使用更灵活,功能更强大,也更复杂。这篇文章将为你介绍ReentrantLock,以及它的实现机制。
ReentrantLock介绍
通常,ReentrantLock按下面的方式使用:
public class ReentrantLockTest...
分类:
其他好文 时间:
2014-05-14 20:02:26
阅读次数:
397
Master-Worker模式适合在一个任务可以拆分成多个小任务来进行的情况下使用。packagecn.fcl.masterworker;
importjava.util.HashMap;
importjava.util.Map;
importjava.util.Queue;
importjava.util.concurrent.ConcurrentHashMap;
importjava.util.concurrent.ConcurrentLinked..
分类:
编程语言 时间:
2014-05-14 18:26:04
阅读次数:
243