Tag: 工作者

Java性能进程与线程

我正在用Java实现一个工作池。 这基本上是一整堆对象,它们将获取数据块,处理数据然后存储结果。 由于IO延迟,工作人员将远远多于处理器核心。 服务器专用于此任务,我想从硬件中获取最大性能(但不,我不想在C ++中实现它)。 最简单的实现是使用单个Java进程来创建和监视许多工作线程。 另一种方法是为每个worker运行一个Java进程。 假设为了争论一个四核Linux服务器,您会预期哪些解决方案更具性能?为什么? 您可以假设工人永远不需要彼此沟通。

JavaFX SwingWorker等效?

JavaFX是否与Java SwingWorker类等效? 我知道JavaFX 任务,但你只能发布字符串消息或进度。 我只想在GUI线程中调用一个方法,就像我对SwingWorker一样(通过发布任意类型的消息)。 赫雷斯是我的意思的一个例子: class PrimeNumbersTask extends SwingWorker<List, Integer> { PrimeNumbersTask(JTextArea textArea, int numbersToFind) { //initialize } @Override public List doInBackground() { while (! enough && ! isCancelled()) { number = nextPrimeNumber(); publish(number); setProgress(100 * numbers.size() / numbersToFind); } } return numbers; } @Override protected void process(List chunks) { for (int number : […]