joe*_*han 1 java swing multithreading awt thread-safety
很多次我认为为什么在工作时Java强迫我们使用EDTSwing?Swing从任何Thread或者换句话说更新组件都不会更容易multithreaded.
实际上,SwingUtilities.invokeAndWait并且SwingUtilities.invokeLater帮助我们排列Swing事件,但是,如果GUI
组件可以从任何其他组件更新,它们将不会出现Thread.
而且,Java制造商真的忘记制作Swing线程安全吗?
如果swing是多线程的,可能会出现什么问题?我的Java程序有"冻结"十几个时间因为这个:/
如果swing是多线程的,可能会出现什么问题?让Java制造商真的忘记让Swing Thread-Safe?
已经进行了许多尝试来创建多线程GUI,但大多数都失败了,因为它们不起作用或者它们使用起来过于复杂.单线程模型是标准和最简单的解决方案.
我的Java程序已经"冻结"了十几次这个时间
那是因为你没有按照你应该的方式使用Swing.它是单线程的事实并不妨碍你在另一个线程上运行长任务(你应该这样做以防止冻结).您可以在Swing Tutorial中的Concurrency中阅读更多相关内容.特别是:
仔细使用并发对Swing程序员来说尤为重要.一个写得很好的Swing程序使用并发来创建一个永远不会"冻结"的用户界面 - 无论它在做什么,程序总是响应用户交互.要创建响应式程序,程序员必须了解Swing框架如何使用线程.
| 归档时间: |
|
| 查看次数: |
132 次 |
| 最近记录: |