单线程处理多任务处理方式
缘由:
在实际的应用中可能会出现这样一种尴尬:只有一个工作线程(这里叫单线程吧)处理大量的信息。而这些信息由线程池中的执行线程提供而来,起先想用线程同步的机制来实现,但这样子会出现了一些弊端:线程池中的线程会被卡住,直到这个单线程空闲才可以和这些线程池中的线程同步处理,这有违反当初设计这一线程池的目的。
工作内容:
1端信息输入
2端信息输入 提取信息 处理结果
3端信息输入 ———————— 用线程池处理 ———————— 交由单线程处理(只能有一个实例)
...
n端信息输入
于是在单线程里面实现信息缓存机制。
单线程类
MakeWork.java
Work.java
结果:
message: do: 0
message: do: 1
message: do: 2
message: do: 3
message: do: 4
message: do: 5
.
.
.
.
多谢指正 6 楼 mikeandmore 2009-12-31 太山寨了,这种情况应该用coroutine