Я попытался написать программу, которая использует потоки, но не могла понять o/p. У меня есть 2 потока: s
и t
. Но я не вижу, что работает нить s
.Поведение темы: Java Beginner
Может ли кто-нибудь объяснить мне поведение? Благодаря
Мой код:
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
Внутренняя рабочая нить
Внутренняя резьба в первом направлении
В детской резьбе0
В детстве thread1
В детстве thread2
В главном thread1
В детстве thread3
В детстве thread0
В детстве thread1
В детстве thread2
В детстве thread3
В детстве thread4
В главном thread2
В детской резьбе4
В основной теме3
В основной теме4
Просто чтобы вы знали: каждый раз, когда вы форматируете свой код, Бог убивает котенка. –
Рассмотрите возможность включения каждого потока в файл Thread.sleep (1000) '. Аргумент в миллисекундах. –