同じ値を2回返さないことが保証されている関数[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 これは私が就職の面接で尋ねられた質問であり、彼らが探していた答えがわからないので、私はここの誰かがいくつかのアイデアを持っていることを望んでいます。目標は、同じ値を2回返さないことが保証されている関数を作成することです。この機能は、複数のマシンから同時にアクセスされると仮定します。 私のアイデアは、各マシンに一意のIDを割り当て、その値を一意の値ジェネレーター関数に渡すことでした。 var i = 0; function uniq(process_id, machine_id) { return (i += 1).toString() + machine_id + "-" + process_id; } これにより、2つ以上のプロセスがの同じ値を読み取った場合でもi、各戻り値にプロセスIDとマシンIDの一意の組み合わせがタグ付けされるため、競合状態からのフォールアウトが回避されます。ただし、別のマシンをオンラインにするにはIDを割り当てる必要があるため、私のインタビュアーはこの回答を好みませんでした。 だから誰もこれを解決する別の方法を考えることができますか?それは一意のIDを持つように各マシンを構成することを必要としませんか?この質問が再び出てくる場合に備えて、回答が欲しいです。ありがとう。