jdk1.4 构建 java多线程,并发设计框架 (三)

本文介绍了一种基于线程的并发队列服务实现方案。该服务通过启动一个线程跟踪队列中的客户请求,并为每个请求创建独立线程进行处理。讨论了线程管理和并发处理的实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 启动一个线程,用来跟踪队排里的客户请求
  1. /**
  2.  * 队列服务.用来查看线程队排中的请求.
  3.  * 启动一个线程,用来跟踪队排里的客户请求.
  4.  * 如果队中有客户的请求,则创建一个新线程独立处理,<br>
  5.  * @author guishuanglin 2008-11-3
  6.  * 
  7.  */
  8. public class ConcurrentQueueService extends Thread {
  9.     //IConcurrentCall
  10.     private ConcurrentQueue _queue;
  11.     
  12.     /**
  13.      * 启动一个线程来跟踪堆中需要处理的对象.
  14.      * @param queue
  15.      */
  16.     public ConcurrentQueueService(ConcurrentQueue queue) {
  17.         _queue = queue;
  18.         start();
  19.     }
  20.     /**
  21.      * 入队
  22.      * @param call
  23.      */
  24.     public void enQueue(IConcurrentCall target) {
  25.         _queue.enQueue(target);
  26.     }
  27.     
  28.     /**
  29.      * 单一线程跟踪队排请求,并把每个请求交给一个新线程处理.
  30.      * 此处是否需要创建新的线程处理,有待实际需要,因为这将又产生线程并发问题.
  31.      * @param call
  32.      */
  33.     public void run() {
  34.         Runnable call = null;
  35.         while (true) {
  36.             call = (Runnable)_queue.deQueue();
  37.             if(call != null){
  38.                 //可以不使用独立的线程处理,直接顺序处理.
  39.                 call.run();
  40.                 //new Thread(call).start();
  41.             }
  42.         }
  43.     }
  44. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值