2013-11-10 19 views
5

Я задаю этот вопрос, потому что я пытаюсь закрепить нотацию в моей голове. Мой лектор сказал, что V и P являются первыми буквами голландских слов для сигнала и ожидания, но это не так.Обозначение семафоров - почему V и P вместо S и W

Кто-нибудь знает, какие слова V и P сокращены или Дикстра просто выбирает свои любимые две буквы?

ответ

5

Из Википедии Semaphore (programming) article и copy of Dijkstra's work:

  • Probeer тэ verlagen (P) означает 'попытаться уменьшаем'
  • Verhogen (V) означает 'приращение'

P имеет Proberen ... (попробуйте) срок перед значащим verlagen (декрементный) термин, потому что голландские слова для приращения и декремента начинаются с «V». Дейкстра добавил слова «попробуй» перед значащим «декрементом», чтобы был более простой способ различать две функции.

+1

Да, они из Дикстры, но статья Википедии [Семафор (программирование)] (https://en.wikipedia.org/wiki/Semaphore_ (программирование) #Function_name_etymology) утверждает, что он имел в виду «_prolaag_» и «_verhogen_», , ссылаясь на его оригинальную статью (на голландском языке) по адресу http://www.cs.utexas.edu/users/EWD/ewd00xx/EWD74.PDF. Нам очень повезло, что Дейкстра оставил после себя столь хорошо записанную карьеру. Теперь, если бы только мои голландцы были достаточно хороши, чтобы прочитать эту статью :-) –

+2

Из той же статьи в Википедии: Слово «* prolaag *» не является реальным словом - это портмант «* probeer te verlagen *» или «try для уменьшения (уменьшения) ». Слова * verlagen * и * verhogen * были настолько похожи, что он добавил «try ...» к началу «декремента», чтобы отличать операции семафора. –

+0

Я также слышал намного лучшие голландские мнемоники * pak * (take) и * vrij * (бесплатно). –

Смежные вопросы