gpt4 book ai didi

Java 应用程序在调用 System.exit(0) 时不会退出

转载 作者:太空宇宙 更新时间:2023-11-04 08:08:08 31 4
gpt4 key购买 nike

我有一个在 Mac 和 Windows 上运行的 Java 应用程序。我在用户按下“退出”按钮时调用 System.exit(0) 。该应用程序在 Win7 上运行良好。但在Mac上,当我按下“退出”按钮后,程序无法退出。应用程序没有响应。

根据 Activity 监视器,所有用户线程都已终止。我不知道程序在等待什么。

我无法粘贴 Activity 监视器的整个输出,但这里有一个示例:

851 Thread_435381: Java: Exception Handler Thread  
851 Thread_435386: Java: Gang worker#0 (Parallel GC Threads)
851 Thread_435493
851 thread_start (in libsystem_c.dylib) + 34 [0x92abd6de]
851 _pthread_start (in libsystem_c.dylib) + 335 [0x92ab9ed9]
851 CAPThread::Entry(CAPThread*) (in CoreMediaIO) + 123 [0x9a5e3a3d]
851 CMIO::DAL::RunLoop::OwnThread(void*) (in CoreMediaIO) + 160 [0x9a5eded2]
851 CFRunLoopRunInMode (in CoreFoundation) + 120 [0x9329c328]
851 CFRunLoopRunSpecific (in CoreFoundation) + 332 [0x9329c47c]
851 __CFRunLoopRun (in CoreFoundation) + 1428 [0x9329cda4]
851 __CFRunLoopServiceMachPort (in CoreFoundation) + 170 [0x93293c7a]
851 mach_msg (in libsystem_kernel.dylib) + 70 [0x942601f6]
851 mach_msg_trap (in libsystem_kernel.dylib) + 10 [0x94260c22]'

最佳答案

1.我认为您正在将您的非 GUI 工作与 Gui 混合在一起。

2.我希望您保留您的事件调度程序线程仅用于 GUI 目的,如果您还没有尝试过此操作...然后尝试这样做...

public static void main(String[] args){

EventQueue.invokeLater(new Runnable(){

public void run(){


myframe.setVisible();

}


});


}

关于Java 应用程序在调用 System.exit(0) 时不会退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11734976/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com