win. С другой стороны, в систе

Автор admin Среда, 1 июля 2009 11:32

win. С другой стороны, в системе Linux программа довольно быстро выходила на взаимную блокировку. 590 Глава 11 • Многопоточное программирование Объектам Chopstick не нужны внутренние идентификаторы, они идентифицируются своей позицией в массиве с. Каждому объекту Philosopher при конструировании назначается ссылка на левый и правый объекты Chopstick; это те самые столовые принадлежности, без которых философ не может есть. Каждый объект Philosopher, кроме последнего, инициализируется размещением между следующей парой объектов Chopstick. Последнему объекту Philosopher в «правой» ссылке назначается нулевой объект Chopstick, и круг замыкается (последний философ сидит рядом с первым, а нулевая палочка лежит между ними). При таком расположении в какой-то момент может возникнуть ситуация, когда все философы попытаются начать есть и будут ждать, пока их сосед положит палочку. В программе происходит взаимная блокировка. Если программные потоки (философы) тратят на другие задачи (на размышления) больше времени, чем на еду, вероятность одновременного доступа к общим ресурсам (палочкам) существенно снижается. При


Комментарии закрыты.