现在有一个工作,我想调用java.util.concurrent包,建立一个线程池,线程池里面放有多个已经建立好的线程a,b,c,d等等,每一个线程都是一样的,实现了都是以下代码process = Runtime.getRuntime().exec("java -jar xxx.jar");
out = new BufferedWriter(new OutputStreamWriter(process
.getOutputStream()));
in = new BufferedReader(new InputStreamReader(process
.getInputStream()));
resultReceiver = new CLIResultReceiver(in);
commandSender = new CLICommandSender(out);也就是建立了一个进程。当这个线程没有被使用的时候,是空闲的(wait)。现在有一个任务队列taskbuffer,里面保存了很多任务,现在需要实现的就是线程池里面的线程a,b,c,d等,当我向taskbuffer里面添加任务的时候就去notifyAll()所有线程池里面空闲的线程,然后每个线程再去取得一个任务,交给进程完成。现在这个线程池里面的线程A,B,C,D该怎么写?该怎么往线程池里面添加啊........

解决方案 »

  1.   

    参考一下这个文章吧
    Java 5.0多线程编程实践
      

  2.   

    紫竹老大,你的msn是多少啊?我能加你msn请教吗??我看了下,还是没想到怎么实现我的想法,因为不能新建进程,只能用那几个固定线程创建的进程来做事…………其实可以这样比喻,线程池里面要有10个固定的线程,每个线程建立了一个进程,这些线程的作用就是发现有数据来了,把数据用流丢给进程做……没有就等待,进程不用暂用CPU资源…………
      

  3.   

    推荐lz一本书《java网络编程精解》 是孙卫琴 的,里面对线程,线程池,套接字,反射等等讲解的都很好。很适合你,会让你受益匪浅的,工作中也会用的到。