多线程调度相关java

多线程调度相关java,java,multithreading,Java,Multithreading,ans将是什么: 1他们中只有一人有机会执行死刑 2双方都将以任意方式获得机会 请使用解释建议可能的ans代码中没有显示同步-两个线程都将运行。现在,控制台访问可能在某个地方进行了同步,但基本上我希望看到如下内容: class A implements Runnable{ B b=new B(); public void run(){ while(true){ System.out.println("H1"+Thread.currentThread().getName());

ans将是什么: 1他们中只有一人有机会执行死刑 2双方都将以任意方式获得机会


请使用解释建议可能的ans

代码中没有显示同步-两个线程都将运行。现在,控制台访问可能在某个地方进行了同步,但基本上我希望看到如下内容:

class A implements Runnable{
   B b=new B();
 public void run(){
  while(true){
   System.out.println("H1"+Thread.currentThread().getName());
  }
 }

}

public class Test {
 public static void main(String[] str){
  A a1 =new A();
//  A a2 =new A();
//
  Thread t1 =new Thread(a1, "Vichi");
  Thread t2 =new Thread(a1,"Vishu");
  t1.start();
  t2.start();

 }
}
etc-不可预测,取决于机器中的内核数量。我怀疑仅仅由于控制台同步,您将获得输出块,但您不应该以任何方式依赖它


基本上,这两个独立的线程没有理由不同时运行,因为它们恰好共享同一个可运行目标。

看起来像是家庭作业,不是吗?看起来像是一个编码面试问题。别忘了告诉你的雇主你是从哪里得到答案的:-
H1Vichi
H1Vichi
H1Vichi
H1Vichi
H1Vichi
H1Vishu
H1Vishu
H1Vishu
H1Vishu
H1Vichi
H1Vichi
H1Vichi
H1Vichi
H1Vishu
H1Vichi