Java UI 线程卡住,尽管代码位于单独的线程中

标签 java multithreading swing

我正在像这样的线程中运行一些网络摄像头捕获:

class Capture implements Runnable { 
    @Override
    public void run() {
        while(true){
            //capture images
            //sleep 5 seconds
    }
}
//To actually start the capture
new Capture().run();

我经常这样做,所以我希望在这种情况下仍然能够执行 UI 功能,例如单击按钮,但事实并非如此。我的 JFrame 上的 x 按钮没有响应,与其他 UI 组件相同。

除了使用单独的线程之外,我还需要做其他事情吗?似乎不适合我。谢谢

最佳答案

您刚刚实现了Runnable。您还没有启动Thread来完成这项工作。试试这个:

new Thread(new Capture()).start();

另请考虑Timer此类工作的类。

关于Java UI 线程卡住,尽管代码位于单独的线程中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40070436/

相关文章:

JavaFx 未选择的 TreeItem (TreeView)

javascript - Jersey FormData,上传多个文件数据

linux - Linux 上的线程利用率分析

c# - 有没有办法暂停所有 Threading.Timer 计时器?

java - 在多线程环境中一个同步方法与另一个同步方法的影响?

java - 尝试根据 double 绘制线条但没有显示?

java - java db位置设置不正确

java - 尝试 Java 乒乓球

java - 获取 JTextPane 中选定文本的字体大小

java - Hibernate MySQL 连接不工作