run
このコードを理解するのに問題があります。私の質問は、メソッド内のステートメントの実行中に 2 つのスレッドが互いに干渉しないのはなぜですか?
つまり、広告は常にすべてのステートメントを実行し、次に 2 番目のスレッドでステートメントを実行します。
最初のスレッドがステートメントの一部を実行し、次に 2 番目のスレッドがステートメントの一部を実行し、最初のスレッドがそのタスクを続行することは不可能です .............
OutputStream
注:2つのスレッドが異なるオブジェクトを使用していることは知っています
スレッドコードはこちら
class Printer extends Thread
{
private String ThreadName;
public Printer(String name)
{
this.ThreadName=name;
}
public void run()
{
PrintStream out=new PrintStream(System.out);
out.println(this.ThreadName+" : a");
out.println(this.ThreadName+" : b");
out.println(this.ThreadName+" : c");
out.println(this.ThreadName+" : d");
out.println(this.ThreadName+" : e");
out.println(this.ThreadName+" : f");
out.println(this.ThreadName+" : g");
out.println(this.ThreadName+" : h");
out.println(this.ThreadName+" : i");
out.println(this.ThreadName+" : j");
out.println(this.ThreadName+" : k");
}
}
エントリーコード:
class Main
{
public static void main(String[] args)
{
Thread t1 = new Printer("thread 1");
Thread t2 = new Printer("thread 2");
t1.start();
t2.start();
}
}
結果を置き換えSystem.out
てout
比較すると、私が何を求めているのかが正確にわかります