gushuailove 发表于 2020-4-17 15:57:25

lua加锁如何实现

网上搜了一下这方面的东西不多,自己这边之前项目组是通过lua调用c,在c里面加锁实现的,想问问有没有lua方面的高手知道有什么好办法,要实现的可能就是简单的限制并发访问。

gushuailove 发表于 2020-4-17 16:15:58

说一下现在的思路,其实就是普通人正常会想的,提供一个可执行程序:mutex_call ,原先限制访问的模块为test.sh,现在所有lua调用test.sh时通过mutex_call来调用,并提供文件锁路径,例如 mutex_call "test.sh" "/tmp/test_lock",其它lua若正在执行test.sh,则当前准备调用的lua就会堵在lock这里。

abutter 发表于 2020-6-14 10:30:57

单一线程/进程处理?我对 lua 了解不多,按我的理解 lua 是在一个进程中执行的,那么你可以将对应的请求归一到一个协程里面串行处理;也可以创建 pid 文件,执行前先看看 pid 文件是否存在;也可以看看有没有提供文件所,本来操作系统就支持 flock,搜索一下 flock lua
页: [1]
查看完整版本: lua加锁如何实现