我試圖編寫一個使用線程但無法理解o/p的程序。我有2個線程:s
和t
。但我看不到線程s
正在工作。線程行爲:Java初學者
任何人都可以向我解釋行爲嗎?由於
我的代碼:
public class Bground implements Runnable
{
Thread t,s;
Bground()
{
t = new Thread(this,"first thread");
s = new Thread(this,"second thread");
s.start();
t.start();
}
public void run()
{
System.out.println("inside run" + t.getName());
try
{
for (int i = 0; i < 5; i++)
{
System.out.println("In child thread" + i);
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(String argv[])
{
Bground b = new Bground();
try
{
for (int i = 0; i < 5; i++)
{
System.out.println("In main thread" + i);
Thread.sleep(1);
}
}
catch(InterruptedException e)
{
e.printStackTrace();
}
}
}
O/P:
C:\ Program Files文件\的Java \ jdk1.6.0_23 \ BIN>的Java Bground
在主thread0
裏面runfirst線程
裏面runfirst線程
在子線程0
在子線程1
在子線程2
在主線程1
在孩子thread3
在孩子thread0
在子線程1
在子線程2
在孩子thread3
在孩子thread4
在主線程2
在子線程中4
在主線程中3
在主線程4
只是爲了讓你知道:每當你像這樣設計你的代碼時,上帝殺死了一隻小貓。 – 2012-03-31 01:00:43
考慮讓每個線程都有一個'Thread.sleep(1000)'。該參數以毫秒爲單位。 – 2012-03-31 01:04:00