Struktura, a zmiana wartości.

0

Witam serdecznie,

Koledzy otóż mam problem z implementacją ogólnego problemu wielu producentów i konsumentów. Stworzyłem sobie bufor cykliczny, w którym mam zmienne write dla producenta i read dla konsumentów. Na początku ustawiam write na wartość 0, natomiast po przesłaniu znaków zwiększam write o 1, czyli na wyjściu producenta write ma wartość 1. Natomiast po uruchomieniu producenta2 write na wejściu ma wartość 0, a powinien mieć wartość 1, w czym może być problem?

Poniżej struktura buforu
typedef struct {
...
int read[2];
int write;
...
}CircularBuffer;

W producencie następuje dowiązanie buforu cyklicznego i odniesienie się do zmiennych wygląda tak buf->write;, tak jak wspomniałem wcześniej problem polega na tym, że składnik po uruchomieniu drugiego producenta traci wartość z pierwszego.

Pozdrawiam

0

Problem oczywiście w niepoprawnie napisanym kodzie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1