Witam.
Wyobraźmy sobie bufor (pamięć współdzielona - IPC), z którego korzystają różne wątki/procesy, czyli producenci i konsumenci. Jest to bufor typu LIFO. Producenci dodają nowe pozycje do bufora na koniec, konsumenci pobierają również z końca.
Czy możliwe jest napisanie takiego programu, aby producent i konsument mogli jednocześnie do tego bufora pisać/czytać, czyli aby producent i konsument nie byli między sobą zsynchronizowani poprzez sekcję krytyczną? Jeśli tak, to czy program ten gwarantuje niezawodność (brak wyścigów, hazardów itp.)?
Pytam, ponieważ laborant prowadzący zajęcia z moją grupą twierdzi, że jest to możliwe, że jest to istota problemu producent-konsument.
Pozdrawiam.