одновременно, при этом процесс не должен захватывать частично локи, если другая часть не готова.
Например у меня есть локи 1, 2, 3, 4, 5
Приходит процесс A и просит выдать ему локи 1, 2, 3. Он получает свои локи и идет что-то процессит.
Приходит B и просит 1, 3, 5 так как 3 занят он стоит ждет.
Приходит С и просит 4,5 они свободны (А забрал первые три, а B ждет в очереди) забирает 4,5.
B дожидается пока А и С закончит и забирает локи себе.
Дополнительно, желательно что-бы PHP ожидал локи через синхронное соединение (так же, как если бы вызвать mysql: SELECT GET_LOCK('mylock', 10);) а не дрочил через мсеки.
Есть что-нибудь на примете?
устроит вариант лочить по одному?
я особо не понял, но ты походу семафору описал
Обсуждают сегодня