나는 플래시와 PHP로 멀티 플레이어 게임을 제작 중이다. 때때로 두 명의 사용자가 같은 PHP 스크립트를 동시에 호출 할 수 있습니다. 이 스크립트는 데이터베이스에 정보를 기록하도록 설계되었습니다. 그러나 해당 정보가 이미 다른 사용자가 작성한 경우 스크립트를 실행하면 안됩니다. 그렇지 않으면 게임이 중단됩니다. PHP가 이러한 스크립트를 순차적으로 처리하는 경우 (MySQL이 여러 쿼리를 큐에 대기시키는 것과 유사), 하나의 스크립트 만 총을 실행해야하며 모든 것이 잘되어야합니다.여러 PHP 스크립트를 동시에 실행할 수 있습니까?
그러나 나는 그 시간의 약 10 %를 발견하고, 두 사용자의 스크립트가 실행됩니다. 내 이론은 서버가 때로는 정확히 동일한 시간에 스크립트를 실행하기위한 두 사용자 요청을 모두받으며 두 가지 모두 검색된 것이 데이터베이스에 아직 기록되지 않았기 때문에 둘 다 실행된다는 것입니다. 두 스크립트가 동시에 실행될 수 있습니까? 그렇다면이 문제에 대한 가능한 해결책은 무엇입니까?
서버 구성에 따라 다르지만 일반적으로 가능합니다. – Maerlyn
은 동시성 제어를 구현합니다. – DevZer0
더 간단한 해결책 중 하나는 스크립트 시작 부분에 플래그를 넣고 끝날 때 꺼내는 것입니다. 스크립트가 플래그가 켜져 있으면 스크립트가 중지합니다. 이 플래그는 예를 들어 데이터베이스 필드, 외부 파일 등일 수 있습니다. – Voitcus