Привет всем,
Не бейте меня ногами, если мой вопрос туп. Я учу Erlang и продираюсь сквозь Programming Erlang, до?ёл до такой вот задачки (стр 158):
Write a function start(AnAtom, Fun) to register AnAtom as spawn(Fun). Make sure your program works correctly in the case when two parallel processes simultaneously evaluate start/2. In this case, you must guarantee that one of these processes succeeds and the other fails.
Боль?е контекста нет, задачка завер?ает главу о spawn, receive, таймерах и пр.
Я не уверен, что я понимаю задачу. Я мог бы понять, если бы требовалось такое поведение, когда два процесса вызывают start(AnAtom, Fun) и AnAtom один и тот же, тогда да, нужно в одном из вызовов выкинуть исключение, но зачем нужно исключать просто одновременный вызов этой функции?
