c********l 发帖数: 8138 | 1 【 以下文字转载自 Programming 讨论区 】
发信人: coupondeal (Coupon Deal), 信区: Programming
标 题: Java 多线程 的架构如何改进?
发信站: BBS 未名空间站 (Tue Jul 9 22:12:35 2013, 美东)
目前有这么一个程序,共有如下三种线程:
1,GUI主线程, non-daemon
2,2个服务器线程,分别监听端口号为8000和8001的socket, non-daemon
3,每当服务器socket.accept()时,生成一个新的daemon线程,
然后在这些n个新生成的并发线程中处理具体业务。
所以,主线程,服务器线程,daemon线程,这三种线程目前是三个实现Runnable的类
上述设计比较过时,因为是用的非常传统的implements Runnable的教科书式方法
有没有更先进的,比如Future/Callable/ExecutorService?
如果是这样,那么具体应该如何改进? | p*****2 发帖数: 21240 | 2
第三步是不是可以用thread pool呢
【在 c********l 的大作中提到】 : 【 以下文字转载自 Programming 讨论区 】 : 发信人: coupondeal (Coupon Deal), 信区: Programming : 标 题: Java 多线程 的架构如何改进? : 发信站: BBS 未名空间站 (Tue Jul 9 22:12:35 2013, 美东) : 目前有这么一个程序,共有如下三种线程: : 1,GUI主线程, non-daemon : 2,2个服务器线程,分别监听端口号为8000和8001的socket, non-daemon : 3,每当服务器socket.accept()时,生成一个新的daemon线程, : 然后在这些n个新生成的并发线程中处理具体业务。 : 所以,主线程,服务器线程,daemon线程,这三种线程目前是三个实现Runnable的类
| g**e 发帖数: 6127 | 3 从最简单的executor + blocking queue开始
【在 p*****2 的大作中提到】 : : 第三步是不是可以用thread pool呢
| d***n 发帖数: 832 | 4 这个有道理
【在 p*****2 的大作中提到】 : : 第三步是不是可以用thread pool呢
|
|