请问这个java 的Thread程序,为什么没有出现两个线程交替运行?
publicclassThreadDemo_2{publicstaticvoidmain(String[]args){TestThreadt=newTestThread(...
public class ThreadDemo_2 {
public static void main(String[] args)
{
TestThread t = new TestThread();
new Thread(t).start();
for(int i=0;i<10;i++)
{
System.out.println("mian线程在运行!");
}
}
}
class TestThread implements Runnable
{
public void run()
{
for(int i=0;i<10;i++)
{
System.out.println("TestThread线程在运行!");
}
}
}
运行结果是:mian线程在运行!
mian线程在运行!
mian线程在运行!
mian线程在运行!
mian线程在运行!
mian线程在运行!
mian线程在运行!
mian线程在运行!
mian线程在运行!
mian线程在运行!
TestThread线程在运行!
TestThread线程在运行!
TestThread线程在运行!
TestThread线程在运行!
TestThread线程在运行!
TestThread线程在运行!
TestThread线程在运行!
TestThread线程在运行!
TestThread线程在运行!
TestThread线程在运行! 展开
public static void main(String[] args)
{
TestThread t = new TestThread();
new Thread(t).start();
for(int i=0;i<10;i++)
{
System.out.println("mian线程在运行!");
}
}
}
class TestThread implements Runnable
{
public void run()
{
for(int i=0;i<10;i++)
{
System.out.println("TestThread线程在运行!");
}
}
}
运行结果是:mian线程在运行!
mian线程在运行!
mian线程在运行!
mian线程在运行!
mian线程在运行!
mian线程在运行!
mian线程在运行!
mian线程在运行!
mian线程在运行!
mian线程在运行!
TestThread线程在运行!
TestThread线程在运行!
TestThread线程在运行!
TestThread线程在运行!
TestThread线程在运行!
TestThread线程在运行!
TestThread线程在运行!
TestThread线程在运行!
TestThread线程在运行!
TestThread线程在运行! 展开
展开全部
这是因为在一个cpu 时间片里就可以把你这10次循环给运行完。你加一个sleep 等一段时间在看。如下
public class ThreadDemo_2 {
public static void main(String[] args) throws InterruptedException
{
TestThread t = new TestThread();
new Thread(t).start();
for(int i=0;i<10;i++)
{
System.out.println("mian线程在运行!");
Thread.sleep(100);
}
}
}
class TestThread implements Runnable
{
public void run()
{
for(int i=0;i<10;i++)
{
System.out.println("TestThread线程在运行!");
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
public class ThreadDemo_2 {
public static void main(String[] args) throws InterruptedException
{
TestThread t = new TestThread();
new Thread(t).start();
for(int i=0;i<10;i++)
{
System.out.println("mian线程在运行!");
Thread.sleep(100);
}
}
}
class TestThread implements Runnable
{
public void run()
{
for(int i=0;i<10;i++)
{
System.out.println("TestThread线程在运行!");
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
展开全部
使用线程最大的问题就是不可确定性。线程运行是,谁先拿到锁,谁先运行,没有先后之分的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
线程运行是,谁先拿到锁,谁先运行,没有先后之分的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这主要是看cpu怎么去调配线程。
多cpu更能体现多线程的优势
多cpu更能体现多线程的优势
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |