读书人

多线程施用的场景

发布时间: 2012-10-16 09:57:37 作者: rapoo

多线程运用的场景
1, 避免线程的阻塞
2, 加快处理的速度
3, web应用中的 ThreadLocal

Adapter中用多线程来处理每个模块,相当于流水线上每个工人做自己特点的模块功能。-- 场景1
如果某个模块处理速度慢了,可以在这个模块上多加些工人(注意数据同步问题)。 -- 场景2


多线程在web项目中运用
CIS-Service中的CI-process 模块是将Adapter应用搬过来的, 使用了大量的queue来处理, 这是多线程实现之一。
二是, 处理queue中的数据用到了多线程。
三是, 在QueryUtils中查询relation时会出现对应的ci还没有处理结束的问题。
需要等待轮询并将FileBean再次放入queue中。 这时就需要新开一个等待线程,在sleep的时候不阻塞原有线程。

public class SleepTask implements Runnable {private Logger logger = Logger.getLogger(SleepTask.class);private FileBean fb;public SleepTask(FileBean fb){this.fb = fb;}@Overridepublic void run() {logger.info("Sleep 10 seconds");try {Thread.sleep(10000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}QueueBank.toBeRelationQuery.put(fb);}}



读书人网 >编程

热点推荐