各位:以下是我写的HelloWorld代码,使用javac编译成功,使用java HelloWorld 执行后,查看进程情况如下:
请问我执行一次java HelloWorld 怎么会出现 这么多的子线程呢?? 问题紧急,多谢各位关注!![mhhb@web mhhb]$ ps -ef|grep Hello
mhhb 14687 14013 37 13:34 pts/6 00:00:02 java HelloWorld
mhhb 14688 14687 0 13:34 pts/6 00:00:00 java HelloWorld
mhhb 14689 14688 0 13:34 pts/6 00:00:00 java HelloWorld
mhhb 14690 14688 0 13:34 pts/6 00:00:00 java HelloWorld
mhhb 14691 14688 0 13:34 pts/6 00:00:00 java HelloWorld
mhhb 14692 14688 0 13:34 pts/6 00:00:00 java HelloWorld
mhhb 14693 14688 0 13:34 pts/6 00:00:00 java HelloWorld
mhhb 14694 14688 0 13:34 pts/6 00:00:00 java HelloWorld
mhhb 14695 14688 0 13:34 pts/6 00:00:00 java HelloWorld
mhhb 14697 14480 0 13:35 pts/4 00:00:00 grep Hello以下是HelloWorld代码:public class HelloWorld{
public static void main(String[] args)
{
while(true)
{
System.out.println("AAA"); }
}
}
请问我执行一次java HelloWorld 怎么会出现 这么多的子线程呢?? 问题紧急,多谢各位关注!![mhhb@web mhhb]$ ps -ef|grep Hello
mhhb 14687 14013 37 13:34 pts/6 00:00:02 java HelloWorld
mhhb 14688 14687 0 13:34 pts/6 00:00:00 java HelloWorld
mhhb 14689 14688 0 13:34 pts/6 00:00:00 java HelloWorld
mhhb 14690 14688 0 13:34 pts/6 00:00:00 java HelloWorld
mhhb 14691 14688 0 13:34 pts/6 00:00:00 java HelloWorld
mhhb 14692 14688 0 13:34 pts/6 00:00:00 java HelloWorld
mhhb 14693 14688 0 13:34 pts/6 00:00:00 java HelloWorld
mhhb 14694 14688 0 13:34 pts/6 00:00:00 java HelloWorld
mhhb 14695 14688 0 13:34 pts/6 00:00:00 java HelloWorld
mhhb 14697 14480 0 13:35 pts/4 00:00:00 grep Hello以下是HelloWorld代码:public class HelloWorld{
public static void main(String[] args)
{
while(true)
{
System.out.println("AAA"); }
}
}
while(true)
{
System.out.println("AAA"); }
你这程序里面是个死循环啊,开起来就没停啊。上面是你测试的时候 java HelloWorld了9次的结果吧。
你每开一个helloworld都没有关闭的哦,你先把他们kill完了再看
要怎么多的AAA
含义就是这个程序总共启动了9个线程。 这一点也是我不能理解的,还望各位指教,谢谢!!!
这个只是一个测试程序,由于想通过ps 看到进程情况,所有写 了一个while死循环,可以将死循环修改为sleep一段时间,结果是一样的。执行一次java HelloWorld后,查看进程情况,将发现存在9个相关线程。
这个事情让我久思不解啊,望指教,谢谢!!!
是的程序是一个死循环,我是通过kill PID 停止的,这只是为了达到测试效果,才这样写的。这个只是一个测试程序,由于想通过ps 看到进程情况,所有写 了一个while死循环,可以将死循环修改为sleep一段时间,结果是一样的。执行一次java HelloWorld后,查看进程情况,将发现存在9个相关线程。
这个事情让我久思不解啊,望指教,谢谢!!!
root 8859 8768 0 16:34 pts/0 00:00:00 java HW
root 8913 8882 0 16:35 pts/1 00:00:00 grep HW
奇怪啊,同样的代码,只是class名字用的HW,我就只有1个呢
你kill完了之后ps看看确认一个都没有么?确认没有了再java1次就有9个?
完全没道理啊!同样期待高人解释。
[mhhb@web client]$ ps -ef|grep HelloWorld
mhhb 14841 14013 0 16:27 pts/6 00:00:00 grep HelloWorld执行后检查,结果如下:
[mhhb@web mhhb]$ ps -ef|grep HelloWorld
mhhb 14842 14013 47 16:28 pts/6 00:00:00 java HelloWorld
mhhb 14843 14842 0 16:28 pts/6 00:00:00 java HelloWorld
mhhb 14844 14843 0 16:28 pts/6 00:00:00 java HelloWorld
mhhb 14845 14843 0 16:28 pts/6 00:00:00 java HelloWorld
mhhb 14846 14843 0 16:28 pts/6 00:00:00 java HelloWorld
mhhb 14847 14843 0 16:28 pts/6 00:00:00 java HelloWorld
mhhb 14848 14843 2 16:28 pts/6 00:00:00 java HelloWorld
mhhb 14849 14843 0 16:28 pts/6 00:00:00 java HelloWorld
mhhb 14850 14843 0 16:28 pts/6 00:00:00 java HelloWorld
mhhb 14852 14480 0 16:28 pts/4 00:00:00 grep HelloWorld
[mhhb@web mhhb]$ kill 14842
[mhhb@web mhhb]$ ps -ef|grep HelloWorld
mhhb 14855 14480 0 16:29 pts/4 00:00:00 grep HelloWorld
[mhhb@web mhhb]$