黑马程序员技术交流社区
标题:
关于线程的同步问题
[打印本页]
作者:
夏一站
时间:
2013-7-12 21:59
标题:
关于线程的同步问题
本帖最后由 夏一站 于 2013-7-13 15:16 编辑
public class ThreadDemo2 {
public static void main(String args[])
{
TestThread t=new TestThread();
new Thread(t).start();
//循环输出
for(int i=0;i<10;i++)
{
System.out.println("main 线程在运行");
}
}
}
class TestThread implements Runnable
{
public void run()
{
for(int i=0;i<10;i++)
{
System.out.println("TestThread 在运行");
}
}
}
复制代码
我这样写,运行的时候,输出的结果是这样的
main 线程在运行
main 线程在运行
main 线程在运行
main 线程在运行
main 线程在运行
main 线程在运行
main 线程在运行
main 线程在运行
main 线程在运行
main 线程在运行
TestThread 在运行
TestThread 在运行
TestThread 在运行
TestThread 在运行
TestThread 在运行
TestThread 在运行
TestThread 在运行
TestThread 在运行
TestThread 在运行
TestThread 在运行
但是,老师说的并不是这样的,不知道问题在哪里。
作者:
草貌路飞
时间:
2013-7-12 22:18
没什么问题,你多运行几次或者把循环次数加大点就可以看出不同了。出现这样主要是你的循环次数大少,很快就运行完,看不出多线程的效果
作者:
小冰块
时间:
2013-7-12 22:20
程序没错,是因为你的电脑太快了所以看不出来结果,把循环全部改成1000,然后分别在两个输出语句前加上Thread.sleep(10);就行了(记得抛异常)。
你看我的运行结果:
QQ截图20130712221852.png
(39.46 KB, 下载次数: 0)
下载附件
2013-7-12 22:20 上传
作者:
哪颗最亮的星星
时间:
2013-7-12 23:53
你可以让其中一个线程等上10毫秒:sleep(10);
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2