gpt4 book ai didi

java - 是否可以控制每个线程在 Java 中执行的时间?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:15:39 27 4
gpt4 key购买 nike

我想控制每个线程使用的时间量。

一个线程做一些处理,另一个处理数据库中的数据,但是由于生成的数据量大,插入比处理慢。我想给处理器更多时间来插入该数据。

是否可以用线程来做到这一点?目前,我正在线程中进行处理,但插入时间会根据机器而变化。还有其他方法可以做到这一点吗?是否涉及在我的程序中使用线程同步?

最佳答案

您可以使用 Thread.setPriority(...) 增加线程的优先级但这并不理想。

也许你可以使用某种形式的 blocking queue from the java.util.concurrent package让一个线程在另一个线程正在做某事时等待。例如,SynchronousQueue可用于从一个线程向另一个线程发送一条消息,表明它现在可以做某事了。

另一种方法是使用 Runnables 代替 Threads,并将 Runnables 提交给 Executor,例如 ThreadPoolExecutor .该执行者将负责确保 Runnables 使用了相当多的时间。

关于java - 是否可以控制每个线程在 Java 中执行的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7866958/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com