如何在Java中进行线程限制

如何在Java中进行线程限制,第1张

如何在Java中进行线程限制

像这样产生线程并不是要走的路。使用an

ExecutorService
并将池指定为5。将所有文件放在a
BlockingQueue
或另一个线程安全的集合中,所有正在执行的文件都可以随意使用
poll()

public class ThreadReader {    public static void main(String[] args) {        File f = null;//folder        final BlockingQueue<File> queue = new ArrayBlockingQueue<File>(1000);        for(File kid : f.listFiles()){ queue.add(kid);        }        ExecutorService pool = Executors.newFixedThreadPool(5);        for(int i = 1; i <= 5; i++){ Runnable r = new Runnable(){     public void run() {         File workFile = null;         while((workFile = queue.poll()) != null){  //work on the file.         }     } }; pool.execute(r);        }    }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5475659.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存