2016-09-24 72 views
0

我在Java中有一個簡單的單線程應用程序。令人驚訝的是,當我運行它並打開htop時,我看到了大約14個子項,如下面的截圖所捕獲的。單線程Java應用程序 - htop顯示14行

screenshot

做這些項目代表了什麼?

+0

你能分享你的代碼嗎? – swapyonubuntu

+0

確定它在GitHub上https://github.com/dusan-rychnovsky/huffman-coder,提交2a770d0614731fd9a1c6fdcb967f4d769139f03b(當前最新) –

回答

0

這些都是肯定的線程(確認,按F2 HTOP進入設置,選擇Display Options屏幕,然後檢查選項[x] Display threads in a different color)。

僅僅因爲你自己沒有創建線程,並不是說Java VM不是。看看下面的例子程序:

public class Hello { 
    public static void main(String S[]) { 
     for(;;) { 
     } 
    } 
} 

它也產生在我htop窗口14項。當我運行jconsole(JDK包含一個標準工具),並連接到您好過程中,我看到以下信息:

enter image description here

線程名建議他們做了什麼:

  • 主 - 我的程序本身
  • 指向處理器
  • 終結
  • 信號調度
  • 附加監聽
  • RMI TCP接受-0
  • RMI TCP連接(1)-127.0.0.1
  • RMI調度器(0)
  • JMX服務器連接超時14
  • RMI TCP連接(2) -127.0.0.1
  • RMI TCP連接(4)-127.0.0.1

有些像終結器線程相關的Java垃圾收集器。上面的一些條目可能與這個過程與jconsole連接的事實有關,我不確定。