我使用完整的參考手冊學習Java。我現在在使用Multithreded Programming Concept。請幫助我瞭解此程序的執行步驟。需要幫助以瞭解程序
// This program is not synchronized.
class Callme {
void call(String msg) {
System.out.print("[" + msg);
try {
Thread.sleep(1000);
} catch(InterruptedException e) {
System.out.println("Interrupted");
}
System.out.println("]");
}
}
class Caller implements Runnable {
String msg;
Callme target;
Thread t;
public Caller(Callme targ, String s) {
target = targ;
msg = s;
t = new Thread(this);
t.start();
}
public void run() {
target.call(msg);
}
}
class Synch {
public static void main(String args[]) {
Callme target = new Callme();
Caller ob1 = new Caller(target, "Hello");
Caller ob2 = new Caller(target, "Synchronized");
Caller ob3 = new Caller(target, "World");
// wait for threads to end
try {
ob1.t.join();
ob2.t.join();
ob3.t.join();
} catch(InterruptedException e) {
System.out.println("Interrupted");
}
}
}
我不能理解邏輯也。
@HighCore無法理解您的評論 – user3203399
@HighCore Java還支持同步/等待設置,但是如果您願意,您也可以繼承Runnable類。無論如何,通常在Java中你只使用同步/等待,或者如果你正在存儲數據,你可能會使用volatile變量類型。 –
@dylanlawrence **無處不在**附近['async/await'](http://msdn.microsoft.com/zh-cn/library/hh191443.aspx)/ continuation **語言級**支持在C#中。 –