題外話:
這應該是最近有點難度的作業了,起碼比之前的理發師,讀寫,哲學家問題要難。
但是做好程序的結構,自頂向下,就還是不難的。
銀行家算法簡介:








代碼:
init() 初始化 reset() 資源回收 Banker() 銀行家算法 safe() 安全性算法








效果圖:




遇到的問題:
主要問題是一開始用sem_t聲明mutex,結果不能pthread_cond_wait(&cond, &mutex);看來必須用pthread_mutex_t mutex;
vector數組clear時需要指定Allocation[i],而非Allocation.clear()

錯誤原因:
其一:忘了加&

其二:i在不斷++,雖然調用pthread_create在i++前,但是可能存在時間差導致傳的是i增加后的數,導致越界。所以換為數組。

以及常見的忘記右括號,忘記分號....