jdk1.4 构建 java多线程,并发设计框架 使用列子(二)

本文介绍了一种基于多线程的数据处理架构,通过启动子线程读取数据并将其放入缓冲队列,实现了数据读取与处理的分离。该架构能够有效提高系统的并发处理能力。

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

 把读取的数据流,获取数据流后,
1启动一个子线程,读取数据,把数据放入缓冲多线程并发队列
2把数据交给处理流数据对象,使得读取数据与处理数据分离
  1. import java.io.*;
  2. import java.net.Socket;
  3. import java.net.InetSocketAddress;
  4. import java.nio.ByteBuffer;
  5. /**
  6.  * 获取相关数据流.
  7.  * 把读取的数据流,发送给处理数据流的对象ProcessRequestData.
  8.  * @author guishuanglin 2008-11-3
  9.  * 
  10.  */
  11. public class ProcessRequest implements Runnable {
  12.     //ByteArrayOutputStream
  13.     private ConcurrentQueue cQueue;
  14.     private Socket socket;
  15.     private Class clientClass;
  16.     private int requestCount;
  17.     private int cacheByte = 1024;
  18.     /**
  19.      * @param ss
  20.      * @param requestNum
  21.      */
  22.     public ProcessRequest(Socket st, int requestCount,int cacheByte,Class clientClass) {
  23.         socket = st;
  24.         this.requestCount= requestCount;
  25.         this.clientClass = clientClass;
  26.         this.cacheByte   = cacheByte;
  27.         CreateCacheQueue();
  28.     }
  29.     public void run() {
  30.         //启动一个子线程,读取数据,把数据放入缓冲队列
  31.         new Thread(new ProcessRequestStream(socket,requestCount,cacheByte,cQueue)).start();
  32.         // 获取数据流后,把数据交给处理流数据对象,使得读取数据与处理数据分离.
  33.         String s = socket.getInetAddress().getHostAddress();
  34.         new Thread(new ProcessRequestData(requestCount,s,clientClass,cQueue)).start();
  35.         //
  36.         ReleaseResource();
  37.     }
  38.     /**
  39.      * 创建客户数据缓冲队
  40.      * @date 2008-11-3
  41.      */
  42.     public void CreateCacheQueue(){
  43.         this.cQueue = new ConcurrentQueue(1024,String.valueOf(requestCount));
  44.     }
  45.     
  46.     public void ReleaseResource() {
  47.         socket=null;
  48.         clientClass=null;
  49.         cQueue   = null;
  50.     }
  51. }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值