我想知道爲什麼這個程序可以有死鎖死鎖 - 轉移方案
void transfer(int from, into to, double amount) {
sem_t *sem_from, *sem_to;
sem_from=get_sem(from); //function that obtains the semaphore from bank account argument
sem_to=get_sem(to);
sem_wait(sem_from);
sem_wait(sem_to);
withdraw(from, amount);
deposit(to, amount);
sem_post(sem_to);
sem_post(sem_from);
}
感謝。
我們不是物理 - 需要更多信息。 –
最有可能是由於獲取信號量的順序。 – AraK
'get_sem'做什麼? – cnicutar