考慮一個PHP腳本(可能調用其他腳本中的函數)。我想確保它的某些部分一次只能由一個請求執行。例如:如何以請求間的方式鎖定部分代碼?
doSomething();
doSomethingElse(); // Lock this: Can only be executed by one request at a time
yetAnotherThing();
所以,如果請求的是目前「內部」 doSomethingElse()
,我想任何更遠的請求的代碼調用此函數前行排隊。
我還沒有找到這個在線的解決方案,因爲我談論的是請求之間的鎖定,而不是作爲相同請求的一部分執行的單獨線程的鎖定。我正在使用Apache服務器。
感謝您的回答。但是,這使得任何更遠的請求「跳過」「鎖定」部分,而我希望它們在它之前「排隊」。你知道一個辦法達到這個目標嗎?或者有沒有辦法擴展您提出的解決方案以實現這一目標? –
啊,好的。我已經更新了我的答案。 –