Tag: 互斥体互斥

PHP互斥(互斥)

阅读一些关于lockingPHP的文本。 他们主要是直接访问http://php.net/manual/en/function.flock.php 。 本页面讨论在硬盘上打开一个文件! 这是真的吗? 我的意思是,这使locking真的很贵 – 这意味着每次我想locking我将不得不访问硬盘)= 我可以安慰我一个愉快的消息吗? 编辑: 由于我有一些答复,我想问这个; 我的脚本只能运行一个线程,或几个? 因为如果是一个,那么我显然不需要互斥锁。 有一个简洁的答案吗? 我正在尝试做什么 由ircmaxell提问。 这是故事: 我有两个FTP服务器。 我想能够在我的网站上显示有多less在线用户在线。 所以,我认为这些ftp服务器会将他们的统计信息“POST”到某个PHP脚本页面。 我们假设这个页面的URL是“ http://mydomain.com/update.php ”。 在网站的主页面(“ http://mydomain.com/index.php ”),我将显示累计统计数据(在线用户)。 而已。 我的问题是,我不知道,当一个FTP服务器更新他的统计数据,而另一个也这样做时,信息会混合。 就像multithreading时一样; 两个线程同时增加一些“int”variables。 它不会按预期发生,除非你在它们之间同步。 那么,我会有一个问题吗? 是的,不,也许? 可能的scheme 整天思考这个问题,我在这里有一个想法,我希望你提出你的意见。 如上所述,这些ftp服务器会每60秒发一次他们的数据。 我正在考虑有这个文件“stats.php”。 它将包含在ftp服务器转到的更新脚本(“update.php”)和“index.php”页面上,访问者看到有多less用户在线。 现在,当一个ftp服务器更新时,“update.php”脚本将用新的累计统计修改“stats.php”。 首先它会读取“stats.php”中包含的统计数据,然后进行累加,然后重写该文件。 如果我没有弄错,PHP会检测到文件(“stats.php”)被更改并加载新文件。 正确?