Linux의 스레드 안전 다음 번호(또는 라운드 로빈) 서비스

Linux의 스레드 안전 다음 번호(또는 라운드 로빈) 서비스

Ubuntu 시스템과 라운드 로빈 방식으로 0에서 20 사이의 다음 숫자(X부터 시작)를 생성해야 하는 시나리오가 있습니다.

스레드로부터 안전한 다음 번호, 라운드 로빈 방식으로 "다음 번호"를 제공하는 일종의 스크립트(아마도?)를 얻을 수 있는 방법이 필요합니다.

파일 시스템에 값을 저장하는 스크립트를 작성하는 것은 매우 쉽습니다. 누군가가 다음 숫자를 요청할 때마다 값이 증가하고 다시 저장됩니다.

문제는 이것이 스레드로부터 안전하지 않으며 실제 라운드 로빈 시나리오를 제공하지 않는다는 것입니다. 스크립트가 병렬로 호출되어 파일이 파괴될 수 있다고 가정합니다.

또한 파일에 쓰는 것은 매우 느린 시나리오인 것 같습니다...(이것이 유일한 방법이라면 견딜 수 있습니다)

다른 방법을 아는 사람이 있나요?

답변1

semGNU 병렬에서 사용 :

sem --id givenum give-next-number-program

관련 정보