package
0.0.0-20241120161739-ebe831b73250
Repository: https://github.com/adrian-lin-1-0-0/go-study.git
Documentation: pkg.go.dev

# README

Monitor

code

monitor ProducerConsumer {
    int count = 0;
    condition full, empty;
    void insert(Item item) {
        if (count == N) wait(full);
        putItem(item);
        count++;
        if (count == 1) signal(empty);
    }
    Item remove() {
        if (count == 0) wait(empty);
        Item item = getItem();
        count--;
        if (count == N - 1) signal(full);
        return item;
    }
}
end monitor