Как называется это решение для состояния гонки? - PullRequest
3 голосов
/ 20 февраля 2012

Я видел этот шаблон, использованный ранее, но я не могу вспомнить терминологию, использованную для его описания (и, следовательно, я не могу найти ее в Google, чтобы узнать о ней больше):

По сути, это где выПолучил ресурс, который используется несколькими потоками, но вместо блокировки доступа к этому ресурсу, фиксации транзакции, а затем разблокирования доступа у ресурса есть своя собственная «очередь», и каждый процесс «отправляет» функцию, которая будет выполнятьсяэтот ресурс в свою очередь.Затем ресурс просматривает и выполняет каждую функцию в том порядке, в котором он был опубликован, и гарантирует, что его состояние никогда не будет повреждено.

Ответы [ 2 ]

1 голос
/ 20 февраля 2012

Я думаю, что наиболее конкретный термин, который можно использовать здесь, это Актер . Я думаю об актере как о «потоке» (или нитеобразном процессе), который ...

  • ... жив: может действовать независимо от других актеров
  • ... имеет состояние: может хранить данные и обеспечивать надлежащий доступ.

Реализация такого субъекта часто представляет собой поток, который обрабатывает синхронизированную очередь сообщений.

Просто назвать эту «синхронизацию» правильно, но не определенно.

0 голосов
/ 20 февраля 2012

Это называется Синхронизация . Из вашего описания кажется, что вы используете блокировки мьютекса.

...