Поток Java не работает одновременно
У меня есть код для выполнения потоков на Java.. Но потоки не работают одновременно.. Вот этот код..
class Abc { public static void main(String[] ar){ Mythread mt = new Mythread(); mt.start(); Mythread mt1 = new Mythread(); mt1.start(); } } class Mythread extends Thread{ public void run(){ for(int i = 0; i<= 9; i++){ System.out.println(Thread.currentThread().getId() + " " + i); } try{ Thread.sleep(1000); } catch(InterruptedException iex){ } } }
Я ожидаю, что результат будет таким:
типа id1 0
ID2, которое 0
id1 в 1
ID2, которое 1
id1 в 2
ID2, которое 2
id1 в 3
ID2, которое 3
id1 в 4
ID2, которое 4
id1 в 5
ID2, которое 5
id1 в 6
ID2, которое 6
id1 в 7
ID2, которое 7
id1 в 8
ID2, которое 8
id1 в 9
ID2, которое 9
Но я получаю случайную последовательность выходных данных..Пожалуйста, укажите, что я делаю не так!
Что я уже пробовал:
Реализация параллельных Javathreads
Ziee-M
Ну вот именно так и должны функционировать потоки, если бы у вас был вывод, подобный тому, который вы опубликовали, то возникла бы проблема.
Есть так много замечательных статей о потоковой передаче в CodeProject, просто найдите и прочитайте несколько из них.
CPallini
Мой (виртуальный) 5.
Ziee-M
Спасибо CPalliani :)