我有一個在Mac和Windows上運行的Java應用程序。我在用戶按「退出」按鈕時撥打System.exit(0)
。該應用程序在Win7上運行良好。但在Mac上,按下「退出」按鈕後,程序無法退出。沒有應用程序的迴應。Java應用程序在調用System.exit時不退出(0)
根據活動監視器,所有用戶線程都被終止。我不知道該節目正在等待什麼。
我便無法粘貼活動監視器的整個輸出,但這裏有一個例子:
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]'
聽起來像一個錯誤,因爲System.exit()應該在所有系統上觸發關閉(或不)。你有哪個版本的Java和OS版本? – 2012-07-31 07:26:11