1114 按序列印 多執行緒

2021-10-25 15:38:59 字數 989 閱讀 8551

難度簡單237

我們提供了乙個類:

public class foo 

public void second()

public void third()

}

三個不同的執行緒 a、b、c 將會共用乙個foo例項。

請設計修改程式,以確保second()方法在first()方法之後被執行,third()方法在second()方法之後被執行。

示例 1:

輸入:[1,2,3]輸出:"firstsecondthird"解釋:有三個執行緒會被非同步啟動。

輸入 [1,2,3] 表示執行緒 a 將會呼叫 first() 方法,執行緒 b 將會呼叫 second() 方法,執行緒 c 將會呼叫 third() 方法。

正確的輸出是 "firstsecondthird"。

示例 2:

輸入:[1,3,2]輸出:"firstsecondthird"解釋:輸入 [1,3,2] 表示執行緒 a 將會呼叫 first() 方法,執行緒 b 將會呼叫 third() 方法,執行緒 c 將會呼叫 second() 方法。

正確的輸出是 "firstsecondthird"。

採用互斥鎖可以很容易實現:

class foo 

void first(functionprintfirst)

void second(functionprintsecond)

void third(functionprintthird)

};

1114 按序列印

題目描述 我們提供了乙個類 public class foo public void two public void three 三個不同的執行緒將會共用乙個 foo 例項。執行緒 a 將會呼叫 one 方法 執行緒 b 將會呼叫 two 方法 執行緒 c 將會呼叫 three 方法請設計修改程式,...

1114 按序列印

我們提供了乙個類 public class foo public void two public void three 三個不同的執行緒將會共用乙個 foo 例項。執行緒 a 將會呼叫 one 方法 執行緒 b 將會呼叫 two 方法 執行緒 c 將會呼叫 three 方法 請設計修改程式,以確保 ...

1114 按序列印

我們提供了乙個類 public class foo public void second public void third 三個不同的執行緒將會共用乙個 foo 例項。執行緒 a 將會呼叫 first 方法 執行緒 b 將會呼叫 second 方法 執行緒 c 將會呼叫 third 方法 請設計修...