有两个问题:
1、请问java程序能同时运行多少个线程,java的运行空间是多大??
2、我写了的启动线程的小程序,每个线程的run()中只有Thread.currentThread.getName();语句。
按理说线程结束后,为什么打印出的内容是不断增加的呢??(也就是已结束的线程还存在??)
请问线程何时算这正结束??如何判断呢??谢谢!!请各位多指教,谢谢!!!!
1、请问java程序能同时运行多少个线程,java的运行空间是多大??
2、我写了的启动线程的小程序,每个线程的run()中只有Thread.currentThread.getName();语句。
按理说线程结束后,为什么打印出的内容是不断增加的呢??(也就是已结束的线程还存在??)
请问线程何时算这正结束??如何判断呢??谢谢!!请各位多指教,谢谢!!!!
解决方案 »
- 我想自杀?求大神解惑
- 一个问题 (我是新手)
- 请教关于java方法函数的参数选择
- 出错“Invalid path, \bin\java.exe -classpath "D:\java\DBApp_Books" DBApp_Books”
- 请问PrintWriter的flush()方法有何作用?为何每次使用完PrintWriter的println()之后都用一下flush()呢?
- 怎么用java 和cvs 沟通
- 请 Swing 高手指教:java 如何实现点击窗口最小化时在最右下角的任务栏有图标显示。
- 高分求救!!!
- 请问log函数是那个类下的?
- 怎么获取指定时间内的前后5分钟
- 关于extjs
- JAVA程序编译后无法运行
2、run()运行结束线程就结束,你遇到的问题应该是有循环或其他情况,上代码
如果主线程没有结束,那其他的子线程执行完run()方法也不能结束吗??那样的话线程数多的话(如超出java限制)怎么办呢?请各位多指教,再次感谢!!!测试程序由两个类组成,MulThreadTest1 负责启动MulThreadTest2线程。
测试代码如下:
public class MulThreadTest1 { public static void main(String[] args) { while (true) { new Thread(new MulThreadTest2()).start(); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace();
}
}
}}public class MulThreadTest2 implements Runnable { public void run(){
System.out.println("打印当前进程: "+Thread.currentThread().getName());
}
}
譬如说线程1结束了,那新new的线程应该由1啊,但事实并非如此,而是不断的增长??请问这是为什么??
谢谢!!!!打印当前进程: Thread-0
打印当前进程: Thread-1
打印当前进程: Thread-2
打印当前进程: Thread-3
打印当前进程: Thread-4
打印当前进程: Thread-5
打印当前进程: Thread-6
打印当前进程: Thread-7
打印当前进程: Thread-8
打印当前进程: Thread-9
…………
…………
如果要知道线程结束没结束,用isAlive()方法检查就知道了。
这个看每个人的电脑配置问题吧 理论上应该接近无限 (也可能是JAVA中能表示的最大值)2、我写了的启动线程的小程序,每个线程的run()中只有Thread.currentThread.getName();语句。
按理说线程结束后,为什么打印出的内容是不断增加的呢??(也就是已结束的线程还存在??)
请问线程何时算这正结束??如何判断呢??谢谢!!
每个线程Thread.currentThread.getName();语句。运行完后 暂时搁置起来 等待垃圾回收器回收
如果要知道线程结束没结束,用isAlive()方法检查就知道了。以上个人见解 欢迎拍砖~ +_+
Thread-1才能代表以前的线程1结束
而守护线程就会停止执行
public final void setDaemon(boolean on)