public void LadujDostawczak() { coRobie = Zajety.laduje; Przesylka tymczasowa; skrzynkaDoRozladunku.mutSkrz.WaitOne(); if (skrzynkaDoRozladunku.zaladunek.Count != 0) { tymczasowa = skrzynkaDoRozladunku.zaladunek.Dequeue(); Thread.Sleep(100); skrzynkaDoRozladunku.mutSkrz.ReleaseMutex(); Thread.Sleep(100 + (int)(tymczasowa.masa * 30)); dostawczakDoZaladunku.mutDos.WaitOne(); dostawczakDoZaladunku.zaladunek.Enqueue(tymczasowa); dostawczakDoZaladunku.mutDos.ReleaseMutex(); } else { skrzynkaDoRozladunku.mutSkrz.ReleaseMutex(); skrzynkaDoRozladunku = null; dostawczakDoZaladunku = null; Thread.MemoryBarrier(); coMaszRobic = Zajety.wolny; } }
public void RozladujDostawczak() { coRobie = Zajety.rozladowuje; dostawczakDoRozladunku.mutDos.WaitOne(); if (dostawczakDoRozladunku.zaladunek.Count != 0) { Thread.Sleep(100); Przesylka tymczasowa = dostawczakDoRozladunku.zaladunek.Dequeue(); dostawczakDoRozladunku.mutDos.ReleaseMutex(); Thread.Sleep(100 + (int)(tymczasowa.masa * 10)); } else { dostawczakDoRozladunku.mutDos.ReleaseMutex(); dostawczakDoRozladunku = null; Thread.MemoryBarrier(); coMaszRobic = Zajety.wolny; } }