Java多執行緒題(過橋)

2021-06-01 08:48:25 字數 729 閱讀 5116

有乙個南北向的橋,只能容納乙個人,現橋的兩邊分別有10人和12人,編制乙個多線程式讓這些人到達對岸,每個人用乙個執行緒表示,橋為共享資源。在過橋的過程中顯示誰在過橋及其走向。

package org;

public class through_out_bridge

//例項化右端12個人,此時所有人都不能過橋,橋的可以狀態標誌為不可以用

for( int i=1 ;i<=12;i++)

//橋的可用狀態給左端第10個人,可以自定義給誰

b.state = true;

thread t = new thread(new person(false, 10, b));

}class person implements runnable

if (side) else

}//過橋方法

public synchronized void through() throws interruptedexception else

}public void run() catch (interruptedexception e) }}

class bridge

public synchronized void open(int i) throws interruptedexception

}public synchronized void lock(int i) throws interruptedexception }}

過橋問題動畫顯示(多執行緒,簡陋版)

code include include include void gotoxy int x,int y 四個訊號量,東,西方向訊號量,東,西段互斥訊號量,用訊號量控制過橋的物件,同時過橋的物件僅且 只有兩個,並且不能同向,多個執行緒用同乙個執行緒入口函式 handle he dir 從西往東訊號量...

java多執行緒

在網上看到很有意思的問題,摘下來好好看下 在面試的時候被問了乙個多執行緒的問題 回來仔細思考了一下,多執行緒是否真的能提高了效率?我對多執行緒的理解就是 比如挖乙個隧道,有2種開工方法 1 只在山的一頭挖,直至挖到山的另一頭,從而打通隧道,這可以看成是單執行緒 2 在山的兩頭挖,同時開工,最後在山的...

Java 多執行緒

1。thread類和runnable介面 2。主線程 用thread的static thread currentthread 方法獲得 3。通過實現runnable介面建立執行緒 實現runnable介面的run方法。新執行緒在run 方法返回時結束。注意用這種方法建立程序時,在實現runnable...