问题标签 [java-threads]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java:使用自己的终端启动子进程
我有两个控制器和一个启动它们的程序。一个是生成数据的模拟器,另一个是分析数据。两个控制器相互依赖并使用 RMI 进行通信。因此,我在另一个线程中启动模拟器,在我的主线程中启动分析器。 这工作得很好。
现在的问题是,它们都在控制台上产生了相当多的输出,我真的希望它们打印到两个不同的终端。有没有办法做到这一点?
我尝试将模拟器作为新命令行中的子进程启动(平台独立性将是下一步)
但是,classpath
is 太长了,输出cmd.exe
isThe command line is too long.
您知道如何使用自己的输出终端生成另一个线程或进程吗?我很乐意提出任何建议。
干杯
更新
我将 OlaviMustanoja 的答案与此解决方案结合在一起 http://unserializableone.blogspot.co.uk/2009/01/redirecting-systemout-and-systemerr-to.html
它现在使用标准System.out
和System.err
堆栈跟踪。此外,它会滚动。
java - 线程没有控制台输出。线程不工作?
控制台中的结果:
主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要主要
我找不到任何“运行”字样,这意味着运行方法没有运行。有人可以为我解释一下吗。谢谢你。
PS:当i<10,i<100,i<1000,i<10000,我能找到“run”这个词,但是当i<100000时,我找不到“run”这个词,这很奇怪
java - 使用 run() 而不是线程的 start() 会发生什么?
闲置线程类工作正常。我可以理解它的过程。然后我变了
mc.srart()进入mc.run()但没有任何改变,也没有任何错误。
有人可以向我解释一下吗?我们可以总是使用run()而不是start()吗?
java - 使用 UI 线程在循环时刷新 TexView
我想每 1 秒刷新一次 TextView ,我尝试了一些 Code 但没有工作。这是一个循环,它把值放在文本中。
我尝试将此代码添加到 onCreate(Bundle savedInstanceState) 但是在模拟器中运行应用程序后,应用程序会运行(在运行之前将关闭)!1.
2.
3.
日志错误:
更重要的是,我可以刷新 TextView 和方法不重要问候
java - Java 线程状态转换,WAITING 到 BLOCKED,还是 RUNNABLE?
SO共识和网上几乎所有的Java线程状态图似乎都有出入;具体来说,关于从 WAITING
之后notify()
或被notifyAll()
调用的线程状态转换......
所以对 SO 的共识是:一个线程在调用or后从WAITING
到; 下图以绿色说明了这种转变。BLOCKED
notify()
notifyAll()
问题
为什么网络上的大多数状态图都说明了从WAITING
到的转换RUNNABLE
,而不是BLOCKED
?红色表示不正确的过渡;我错过了什么吗?
java - 为什么需要 Java 线程?
我有一个普遍的问题。我一直在阅读一本 Java 书籍,并且遇到了一个使用 Threads 的程序。书中指出线程用于多处理。我想知道,如果我写:
然后我重写运行方法以从用户那里获取输入,然后,它会等待输入,然后执行诸如打开框架之类的 GUI 任务,或者它会同时执行这两个任务。
java - 线程休眠时同步方法中的锁释放
线程在同步方法中进入睡眠状态时是否释放他获得的锁?
java - 从线程 Java/Android 返回值
我的 android 类中有以下线程。如何从线程中获取 err 的值???
我希望该值成为该方法的返回值,但是对于我的一生,我无法获得该值...
java - java中的一些并发设计
我需要从服务器检索一张巨大的图片,但服务器不能这样做,因为图片太大了。我可以给出“坐标”,以便检索那张图片的一小部分。因此,我将图片分成 100 个图块,然后将 10 个图块附加到一行,然后附加每一行。当我按顺序执行时,效果很好。现在我下载 10 个图块 -> 将它们附加到一行 -> 下载接下来的 10 个图块 -> 将它们附加到一行 -> 将第二行附加到第一个 -> 下载接下来的 10 个图块等(简化):
但是由于这些行非常大,因此将它们相互附加需要很长时间。当它们被附加时,我认为我可以创建一个下载其他图块的线程。这就是问题所在。我不习惯同时编程。我知道它在技术上是如何完成的(实现 Runnable 等),但我应该如何设计它?我有在另一个线程中运行的想法,downloadImage(xcoord, ycoord)
但这导致了将removeBlackColor(tile)
. 还是在线程中或线程完成后?..谁应该等待什么(加入)?我希望它没有那么混乱。如果您在某处需要更多说明,请告诉我。
java - Android - 线程和异步任务之间的区别?
在我的应用程序中,我有按钮,单击时将查询数据库并在屏幕上显示结果。查询动作通常需要 1 ~ 3 秒。这些按钮会经常被点击。
我已经在 AsyncTask 和 Thread 上实现了这个动作,但几乎没有什么不同。
但是从长远来看,尤其是当按钮被多次点击时,在资源(CPU、内存)方面哪个会更有利?