Mat*_*nes 9 java multithreading runtime
我在其中一个XSEDE资源上运行基因组装配程序*Trinity,http: //trinityrnaseq.sourceforge.net/,如果感兴趣的话.硬件将线程数限制为2500,程序总是希望超过......有一种简单的方法来限制执行的线程数量?我试过了-XX:ParallelGCThreads=16,但这似乎引入了新的错误.
那么,是否有运行时命令来限制线程总数?
您可以使用作为单独进程运行的自定义队列来处理线程数限制。这样做的优点是您可以选择限制线程,也可以继续添加线程数。您可能会有一个addToQueue(Thread t)类,随后有一个消费者消耗所有这些线程。队列将知道有多少线程正在运行。consume()如果线程正好在范围内,守护进程将随意触发该队列的方法。每个线程完成或完成其作业后,都会向队列报告。如果您认为正在运行的任务应该有优先级,那么您维护的队列可以是优先级队列。这不仅消除了对 JVM 的依赖,还使您的程序看起来更干净。
| 归档时间: |
|
| 查看次数: |
436 次 |
| 最近记录: |