在PHP中独立访问共享资源是可能的,或者最好使用JAVA';什么是同步机制?
我正在用PHP开发一个网站,其中一个资源将被多个用户同时查看。我想阻止其他用户查看或购买其他用户即将购买的相同资源。即,我想锁定资源并提供对它的同步访问。是否可以用PHP开发这个东西,或者我必须使用java的线程和同步概念,并通过xml将其与PHP集成。??请告诉我我是否走上了正确的道路 我读过: 'bool sem_acquire(资源$sem_标识符)' 可在php中获得,也可在在PHP中独立访问共享资源是可能的,或者最好使用JAVA';什么是同步机制?,java,php,Java,Php,我正在用PHP开发一个网站,其中一个资源将被多个用户同时查看。我想阻止其他用户查看或购买其他用户即将购买的相同资源。即,我想锁定资源并提供对它的同步访问。是否可以用PHP开发这个东西,或者我必须使用java的线程和同步概念,并通过xml将其与PHP集成。??请告诉我我是否走上了正确的道路 我读过: 'bool sem_acquire(资源$sem_标识符)' 可在php中获得,也可在 <?php $fp = fopen("/tmp/lock.txt", "r+"); if (flock
<?php
$fp = fopen("/tmp/lock.txt", "r+");
if (flock($fp, LOCK_EX)) { // acquire an exclusive lock
ftruncate($fp, 0); // truncate file
fwrite($fp, "Write something here\n");
fflush($fp); // flush output before releasing the lock
flock($fp, LOCK_UN); // release the lock
} else {
echo "Couldn't get the lock!";
}
fclose($fp);
?>
通过数据库更好地管理它
UPDATE offers SET buyer = ? WHERE id = ? AND buyer IS NULL
当然,然后检查结果。您应该使用在任何开发环境中可用的本机工具。我对PHP不太熟悉,无法详细说明如何操作,但仅仅为了处理同步而运行单独的系统是毫无意义的,资源争用是任何语言都必须解决的标准问题。数据库事务呢?我们谈论的是什么资源?它能被数据库处理吗?它真的需要是一个文件吗?@IvanHušnjak假设该资源是一个唯一的笔驱动器,其可用性详细信息是从DB动态获取的。我能知道如何使用数据库事务处理这个问题吗。