for(i=0;i<100;i++)
System.out.println("hello world");
想上面这样的循环可不可能出现输出hello之后线程就被切换成另一个了
System.out.println("hello world");
想上面这样的循环可不可能出现输出hello之后线程就被切换成另一个了
解决方案 »
- swing中BorderLayout布局把组件居中显示了
- 怎样比较C:if重的两个数(在线等)
- 再来讨论一下Fackbook的那道面试题
- 点击确定按钮,文本框里怎么不显示所要显示的内容啊?如果在jj类中调用jc类中的字符串s并显示,怎么操作啊?谢谢了!(jj.java及jc.java
- (急)JMX 链接sailfin服务器问题
- 大侠们,帮个忙,高分求解(调用存储过程返回记录集,动态显示列)
- 10分题,请抢答,立即结贴!!!在线!!
- reference问题
- 送分100,====谁知道要java内嵌cq server需要用什么搞=====
- 为什么JSplitPane初始时写了调整其大小没有任何反映
- 一款iOS平台下的求路径游戏,想用java求解,不知道是否可行,各路大神帮忙看看
- 求助!!!
所以,输出时,要么不输出,要么参数内容全输出。
不过楼主倒是可以研究一下StringBuffer和StringBuilder的区别,听说就是一个线程不安全一个线程安全。当然,线程安全的类肯定比线程不安全的类要稍慢
都不对。首先,切换线程的本质上其实是操作系统。时机点的话,其实可以说是想切换就切换,或者说到CPU指令这个粒度。那么,别说你这个循环了,即便是:
i++
这看似一句代码,执行时都可以切换几次线程。
对了,即便你使用 同步块,对线程切换还是没有任何影响的。
public void run(){
for(int i=0;i<5;i++){
for(long k=0;k<1000000;k++);
System.out.println(name+":"+i); //1
System.out.println("线程未结束"); //2
}
System.out.println("线程结束");
}
为什么每次1,2两处的输出总是接连的输出,有没有可能出现A线程在1处输出后,切换到另一个线程输出1处代码,而不是A接着输出2处代码