ThreadSpecificStorage线程独有的存储。适用环境需要避免多个线程共享一份数据,如数据库连接(每个处理线程拥有一个独立的connection)、Session(每个线程一个独立的session)。样例参考数据库连接池和session管理。略
分类:
编程语言 时间:
2016-10-19 14:37:51
阅读次数:
188
ActiveObject通过代理接口,将生产、缓存、消费场景中缓存、消费与生产部分独立出来,通过future模式返回操作结果给生产部分。缓存部分通过增加调度器来分配数据到执行者,这里可以让执行者由主动切换到被动。可以分离线程和执行策略。可以由调度器进行负载均衡并可以路由数据..
分类:
编程语言 时间:
2016-10-19 14:35:13
阅读次数:
194
ThreadPerMessage请求的频率高于处理速度,由线程池平衡请求速度和处理速度。适用环境不需要返回数据,处理顺序无关的场景。样例每一次请求都由线程池中一个线程处理。服务端packageThreadPerMessage;
importjava.util.concurrent.ExecutorService;
importjava.util.concurren..
分类:
编程语言 时间:
2016-09-29 22:33:28
阅读次数:
171
ReadWriteLock写入是互斥的,读取是共享的,写入与读取不能同时发生。适用环境类似缓存更新的场景。样例缓存,多读多写,LRU淘汰。读写锁读读共享,读写、写写互斥。packageReadWriteLock;
publicclassReadWriteLock{
privateintwaitWriters=0;
privateintwritingWriters=0;..
分类:
编程语言 时间:
2016-09-28 16:43:06
阅读次数:
229
Balking
多线程共享一个资源,该资源发现无法提供服务则拒绝接受请求,请求将失败而不是继续等待资源。
适用环境
对共享资源的请求是可被拒绝、不需要等待的。
样例
秒杀。
只有一定数量的商品,超出数量的请求将被舍弃。
请求..
分类:
编程语言 时间:
2016-09-26 18:14:21
阅读次数:
178
GuardedSuspension
多线程共享一个资源,该资源的使用是有条件的。
适用环境
共享资源的占用是有条件而非直接占用的。
样例
幼教收作业:仨熊孩子俩幼教,俩幼教面前一个长桌子,总共只能放两个作业。
熊孩子packageGuardedSuspension..
分类:
编程语言 时间:
2016-09-23 15:14:25
阅读次数:
210
SingleThreadedExecutio
同时只允许一个线程使用资源。
多线程共享一个资源,仅允许获得了资源锁的线程对资源的访问,避免多线程访问资源造成冲突。
适用环境
多线程争用资源,资源状态(这里的状态指资源对象的属性)可被占用线程变更,需要确保..
分类:
编程语言 时间:
2016-09-21 23:37:42
阅读次数:
192
前言:Servlet/JSP技术和ASP、PHP等相比,由于其多线程运行而具有很高的执行效率。由于Servlet/JSP默认是以多线程模式执行的,所以,在编写代码时需要非常细致地考虑多线程的安全性问题。 JSP的中存在的多线程问题: 当客户端第一次请求某一个JSP文件时,服务端把该JSP编译成一个C ...
分类:
编程语言 时间:
2016-07-11 11:58:27
阅读次数:
113
当你用 DELPHI写的多线程程序莫名其妙的内存错误,特别是字符串(string)操作; 或者程序无故终止,又没有任何提示,你需要认真分析可能是你直接使用了CreateThread。 C++的linker可以自己设置运行库的形式,选择支持单线程还是多线程模式。 DELPHI是自动判别的,那他是如何自 ...
因为et模式需要循环读取,但是在读取过程中,如果有新的事件到达,很可能触发了其他线程来处理这个socket,那就乱了。 EPOLL_ONESHOT就是用来避免这种情况。注意在一个线程处理完一个socket的数据,也就是触发EAGAIN errno时候,就应该重置EPOLL_ONESHOT的flag, ...
分类:
编程语言 时间:
2016-05-28 21:52:02
阅读次数:
605