한 장면을 보여주세요
사용자 B: 현재 시장 가격이 3위안이라고 가정하고 50병을 2.5위안으로 주문합니다. -
질문
PHP에서 대기열을 사용하여 사용자 B가 자동으로 사용자 A 50병을 구입한다는 것을 인식하는 방법. B의 거래가 완료되었습니다. A의 거래가 매진되지 않았기 때문에 계속 주문이 이루어집니다. N명의 사용자에 대해 이러한 종류의 거래를 구현하는 방법은 무엇입니까?
설명
위 예시는 - 재고보류주문
으로 쉽게 이해하실 수 있습니다.
답글 내용:
한 장면을 보여주세요
PHP 대기열을 사용하여 사용자 B가 자동으로 사용자 A 50병을 구입한다는 것을 인식하는 방법. B의 거래가 완료되었습니다. A의 거래가 매진되지 않았기 때문에 주문이 계속 보류 중입니다. N명의 사용자에 대해 이러한 종류의 거래를 구현하는 방법은 무엇입니까?
설명
위 예시를
재고보류주문
으로 이해하시면 이해가 더 쉽습니다. -
이 질문은 언어와는 관련이 없습니다.
두 개의 대기열이 필요합니다. 하나는 "매수"를 저장하고 다른 하나는 "판매"를 저장합니다. 대기열은 가격을 기준으로 정렬되며 동일한 가격은 시간을 기준으로 정렬됩니다.
이후 프로그램은 최고 구매 가격과 최저 판매 가격을 지속적으로 비교하여 둘 사이에 중복이 있으면 거래가 이루어지며 거래 가격은 판매 가격을 기준으로 계산됩니다.