我有一个场景,我正在产生多个线程(每个线程都在浏览器实例上工作)。但是所有线程共享一个我需要同步的常见操作。我正在考虑使用在磁盘上创建的文件来创建锁,但我担心它真的会起作用吗?
基本上我在Windows平台上需要一些锁定机制。我正在产生多个线程,每个线程都是一个通过浏览器工作的自动脚本(javascript / batch),但我需要同步任何触发浏览器中保存为/上传对话框的操作。
此致
答案 0 :(得分:0)
强烈依赖于您想要开发的语言,平台,操作系统等。
对于POSIX,您可以实现这一目标,例如:使用互斥锁: http://pubs.opengroup.org/onlinepubs/009695399/functions/pthread_mutex_lock.html
如果使用C ++ 17进行开发: http://en.cppreference.com/w/cpp/thread/mutex
关于你的问题:你也可以用文件锁来做到这一点。在这种情况下,您必须等待再次锁定文件,这可以通过select()