java 多线程 每次执行5个线程 5个线程有一个执行完了 才能执行第6个

我现在是这样写的 ExecutorService executor = Executors.newFixedThreadPool(5);
Thread my = new Thread();
executor.execute(my);
class Thread implements Runnable {
public void run() {
。。。。。。。。。。。。。}

可是它每次还是执行6个线程 应该怎么改 求大神指教

没明白你的意思,你线程池大小就是5个,肯定是5个线程有一个执行完了 才能执行第6个
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-22
传4试下
ExecutorService executor = Executors.newFixedThreadPool(4);

还有个可能是主线程也是一线程啊本回答被网友采纳

java中,多线程中,有没有可能当一个线程执行一半时候,另一个线程又开始...
在旧的单处理器系统中,各个线程只是占用处理器的一段时间片,因此不会出现一个线程运行到一半的时候,另一个线程又开始。但是,现在的机器一般都是多处理器系统,实现了真正的并行运行,因此这种情况肯定是会发生的。

java 线程当前任务未执行完毕,会执行一个新的任务吗?
在 Java 中,当一个线程正在执行任务时,如果另一个任务需要执行,则会根据线程的调度策略决定是否执行新的任务。如果线程的调度策略是单线程执行,则线程会一直执行当前任务,直到完成为止,不会执行新的任务。如果线程的调度策略是多线程执行,则线程可能会在执行完当前任务后,执行新的任务。Java 中的...

java,for循环执行5000条数据分别进行调用5个平台的API,然后保存到本...
没用过java,只用过c#,这类问题算是比较常见的生产和消费者问题,你搜索的时候也可以搜索java 生产消费者 去查找,你的算法应该算是效率很低的,如果一次只处理一条数据的话,对于不同的淘宝当当之类的是可以同时开不同线程的,另外当然也可以一次处理多条数据,效率就会更高一些。具体方法你百度一下...

java中请问如何等待一个线程结束在运行其他的代码?
synchronized(b) b.wait();\/\/a线程中采用同步,并进行等待 c.execute();在b线程结束时调用synchronized(this) notify();这样就可以达到b不结束,a线程就不会继续执行c。注释:如果看不明白建议先学习一下java线程同步机制。

JAVA 线程池 其中一个线程执行失败 则线程重新执行或者重新提交任务...
futrue.get()是在线程执行完毕之后才返回的结果。 就是说你能得到get的返回值的时候,线程已经执行完毕并退出了。

java 一个线程执行完了,对象还在吗
线程一启用成功,就会自动关闭线程句柄. 但是,如果线程中有死循环.线程是不会运行完就结束的. 因为未跳出子程序.所以结束不了线程.反之,跳出子程序了就说明自动结束了线程. 死循环子程序的解决方法.可以用强制结束线程 ()或用变量来结束线程.

java多线程并发的问题
JAVA程序线程的运行:在我们使用java命令来运行程序时,这时候已经开始了两个线程,一个是main()方法的线程,一个是垃圾回收的线程。当楼主调用start方法开启另外两个线程时。这时候由于CPU来决定运行哪个线程。所以虽然noet1是先开启的,但在执行noet1时,CPU可能又去跑去执行main线程了,然后就会开启...

Java多线程批量操作,居然有人不做事务控制?
接着,引入多线程提交操作。我们整合批量修改功能,通过Service封装,尝试不同线程数的性能影响。测试结果显示,线程数在2-5个时,提交速度最快,这表明在特定条件下,多线程能够进一步提升操作效率。为了保证多线程间的事务一致性,我们引入了CountDownLatch。在测试过程中,当线程数超过10个时,出现了数据...

如何判断线程池里面所有的线程执行完成
判断线程池中的线程是否全部执行完毕的另外一种解决方案则是使用闭锁(CountDownLatch)来实现,CountDownLatch是一种灵活的闭锁实现,它可以使一个或多个线程等待一组事件发生。闭锁状态包括一个计数器,该计数器被初始化为一个正数,表示需要等待的事件数量。countDown方法递减计数器,表示有一个事件已经发生...

Java多线程我用了同步代码块之后,为什么一直都是主线程在执行,别的线...
你的synchronized将while循环都锁住了,所以其中一个线程会将整个while循环执行玩再走其他线程,但你的共享数据这时候已经被循环至0了,所以只有一个线程在执行

相似回答