2012-02-27 60 views
0

我將表單中的數據保存到文件中。文件中有一個行號。如果兩個或更多用戶同時提交表單,我們預計行號是相同的。因爲在保存之前,我讀取了決定新記錄行號的最高行號。防止同一時間請求

我該如何預防? sys_getloadavg是解決方案嗎? 謝謝。

+0

你的問題不清楚。從你寫的東西我知道你有一個文件格式。當文件表單被提交時會發生什麼?有一些數據寫入數據庫嗎?什麼是「行號」用於和從哪裏得到它? – tftd 2012-02-27 02:23:18

回答

0

您可以使用文件鎖定(緩慢但適用於所有平臺)或信號量來執行此操作。看到這個線程的詳細信息: PHP mutual exclusion (mutex)

0

我不知道你正在嘗試做什麼,但請求將永遠不會在同一時間。其中一個將總是略微領先於另一個。

如果您正在討論編輯文件,也許您應該創建一個配置文件,該文件只允許您在另一個用戶打開文件時以讀取模式打開文件。

然後,您可以連續地配置ajax配置文件,以檢查是否有其他用戶打開它並將狀態從讀取改爲寫入。