【发布时间】:2012-03-15 09:31:09
【问题描述】:
我有一个 java 程序,它进行一些计算,然后将结果上传到 MYSQL 数据库(托管在同一网络中的另一台计算机上)。我有时会遇到程序计算速度比上传结果快的问题。因此它无法上传所有结果。该程序当前没有线程化。
有没有办法让程序在完成计算后休眠几毫秒,以便正确上传。 (就像其他语言的睡眠或等待功能)
我可以对程序进行线程化,但这将是太多的重写。有没有更简单的方法?
谢谢
【问题讨论】:
-
我很好奇单线程程序如何比另一件事更快地完成一件事,并且由于时间问题而以某种方式使其失败。如果它是单线程的,那么这些操作是顺序的。您是否正在使用库或其他东西来上传在不同线程或其他东西中工作的东西?如果它真的是单线程的,那么这个场景实际上没有意义。
-
@Robin:我认为唯一可能的方法是 Ankur 的应用程序正在注册或执行某种异步进程。单线程应用程序可能位于被某个异步事件中断的单线程逻辑中。尽管如此,睡眠不应该是尝试解决问题的第一个想法。
-
我在我的程序中使用了第 3 方 API。他们可能在程序中创建线程导致异步。
-
如果您只是粘贴代码,我们可能会看到真正的问题是什么。我不知何故怀疑你正在做任何与你使用 jdbc 相关的异步工作。您还在使用哪些其他第三方 API?
标签: java multithreading sleep