Концепция сигнала и ожидания в многопоточности
Я пытаюсь понять концепции параллелизма в этой программе. Я пытаюсь понять это, но я не в состоянии понять основную логику. Я не уверен, что сигнал и ждать на самом деле они здесь делают.
основная логика здесь
export operation Hi if ! flip then stdout.putstring["Waiting Hi\n"] wait c end if stdout.putstring["Hi\n"] flip <- false signal c end hi export operation Ho if flip then stdout.putstring["Waiting Ho\n"] wait c end if stdout.putstring["Ho\n"] flip <- true signal c end ho
Что я уже пробовал:
Выход таков
Hi Waiting Hi Ho Hi Ho Hi Ho Hi Ho Hi Ho Hi Ho Waiting Ho Hi Ho Hi Ho Hi Ho Hi Ho
Может ли кто-нибудь объяснить, как генерируется этот вывод, как сигнал и ожидание выполняют вывод
Jochen Arndt
Это похоже на изумруд.
Я думаю, что здесь не так много (если вообще есть) знающих этот язык (я не знаю).
В качестве первого шага я предлагаю поискать документацию для функций ожидания и сигнала.
[no name]
Я тоже не могу вам сказать, что это такое. Никогда раньше не видел. Я могу сказать, что это так нет С.
Albert Holguin
Это определенно не С. Если вам нужна помощь с каким бы то ни было языком, отметьте его соответствующим образом. Если вам просто нужна помощь в понимании параллелизма в целом,не используйте языковой тег.