Я новичок в потоке в java, у меня есть небольшое представление о потоке, скажем, у меня есть 10 потоков, и я запускаю его один за другим, как это
public class BaseRunnable implements Runnable {
String ThreadNo;
public BaseRunnable(String ThreadNo) {
// TODO Auto-generated constructor stub
this.ThreadNo=ThreadNo;
}
@Override
public void run() {
// TODO Auto-generated method stub
for(int i=0;i<50;i++)
{
System.out.println("Thread no "+ThreadNo+" Running with index > "+i);
}
}
}
И в основном Меторд
BaseRunnable runnable=new BaseRunnable("1");//run on main thread
BaseRunnable runnableTwo=new BaseRunnable("2");//run on main thread
BaseRunnable runnable3=new BaseRunnable("3");//run on main thread
BaseRunnable runnable4=new BaseRunnable("4");//run on main thread
BaseRunnable runnabl5=new BaseRunnable("5");//run on main thread
BaseRunnable runnable6=new BaseRunnable("6");//run on main thread
BaseRunnable runnable7=new BaseRunnable("7");//run on main thread
BaseRunnable runnable8=new BaseRunnable("8");//run on main thread
Thread one=new Thread(runnable);
Thread two=new Thread(runnableTwo);
Thread thr3=new Thread(runnable3);
Thread thr4=new Thread(runnable4);
Thread thr5=new Thread(runnabl5);
Thread thr6=new Thread(runnable6);
Thread thr7=new Thread(runnable7);
Thread thr8=new Thread(runnable8);
one.start();
two.start();
thr3.start();
thr4.start();
thr5.start();
thr6.start();
thr7.start();
thr8.start();
Я знаю, что если я использую join()
, я могу запускать нитки один за другим (one.start(); one.join();)
Я пробую другой способ, используя synchronized, который заставлял запускать один поток один за другим, но это было не по порядку, поэтому любой эксперт поможет мне активировать это, например, сначала Thread one, Thread 2 и т. Д. Без join()
Пожалуйста, рассмотрите это как вопрос новичка, помогите пожалуйста
Executors
. - person Miha_x64   schedule 26.05.2017