Aktywne Wpisy
mirko_anonim +9
✨️ Obserwuj #mirkoanonim
Czy ja jestem jakiś dziwny, że wymagam od laski, z którą jestem w związku, że da mi znać że idzie na imprezę? Nic nie zabraniam, nawet nie chodzi o to żeby pytała o pozwolenie, po prostu fajnie byłoby wiedzieć co robi moja dziewczyna. Mam 21 lat, to moja pierwsza laska, nie wiem czy mam spaczona wizję związku. Ale aktualnie to czuje się tak, że spotykam się z nią w
Czy ja jestem jakiś dziwny, że wymagam od laski, z którą jestem w związku, że da mi znać że idzie na imprezę? Nic nie zabraniam, nawet nie chodzi o to żeby pytała o pozwolenie, po prostu fajnie byłoby wiedzieć co robi moja dziewczyna. Mam 21 lat, to moja pierwsza laska, nie wiem czy mam spaczona wizję związku. Ale aktualnie to czuje się tak, że spotykam się z nią w
Przesadzam?
- Tak 8.1% (172)
- Nie 81.8% (1728)
- Sprawdzam 10.1% (213)
RudyPele +396
"Robert dzisiaj wychodzę na kurs tańca z tym nowym kolegą Adebayo, kazał cię pozdrowić, a i pamiętaj przygotuj kolacje dla dziewczynek i poczytaj im na dobranoc, powodzenia jutro na meczu, kocham cie"
#pilkanozna #blackpill #redpill #heheszki #pilkanozna
#przegryw
#pilkanozna #blackpill #redpill #heheszki #pilkanozna
#przegryw
Probem: Dwóch producentów, dwóch konsumetów, bufor fifo, liczby losowe. Konsumenci identyczni (jedna funkcja), jeden producent pisze kiedy chce (pod warunkiem, że bufor nie jest pełny), drugi może pisać tylko jeżeli suma liczb w buforze spełnia pewien warunek.
Rozwiązałem bez uwzględniania warunku z sumą.
Na pewno mam semafory:
mutex(1); // broni dostępu do bufora
production(BUFFER_CAPACITY); // bo produkować można aż do przepełnienia
consumption(0); // bo na początku bufor jest pusty i nic nie można wyjąć
consumer() {
consumption.p();
mutex.p();
// żre z bufora
mutex.v();
if(bufor nie jest pełny)
production.v();
}
producer1 {
production.p();
mutex.p();
// wpycha do bufora
mutex.v();
if(bufor nie jest pusty)
consumption.v();
}
Wyjaśni mi ktoś jak zmodyfikować to rozwiązanie, żeby producer2 pisał tylko pod spełnionym warunkiem odpowiedniej sumy w buforze (damy na to, większej od 100)?
Próbowałem wiele godzin metodą prób i błędów, nie ma szans. Nie ogarniam. Ile i jakie dodatkowe semafory wprowadzić? Jaka powinna być kolejność podnoszenia i opuszczania?
UWAGA POLITYKA W SPOJLERZE:
#programowanie #wielowatkowosc #cpp #warsawshore
strona 11
Dobra jest taka, że to rozwiązanie podsunęło mi własne, zadziwiająco proste i #!$%@? brzydkie,
Na pewno w producentach ten warunek jest niepotrzebny:
if(bufor nie jest pusty) {
consumption.v();
}
Analogicznie w konsumencie.
Skoro coś przed chwilą wyprodukowaliśmy/zjedliśmy, to na pewno bufor nie jest pusty/pełny i zawsze wykonane zostanie consumption.v()/production.v().
PYTANIE POZOSTAJE OTWARTE
Jak zrobić to dobrze?