c++ - 文件锁定套接字?

标签 c++ c posix

是否可以为线程锁定套接字?例如使用 flock?

这些锁是为文件设计的,但它们采用通用文件描述符作为参数。

最佳答案

文档明确指出 flock 用于文件。来自 MacOS 文档页面 (man):(添加了重点)

Flock() applies or removes an advisory lock on the file associated with the file descriptor fd.

特别是,这意味着同一文件 上的进程间同步。假设您正试图在进程中的线程之间进行锁定,那么依赖 pthread_mutex_lock/unlock 似乎是明智的。 (你将要执行一个缓慢的 IO,所以我也不会为自旋锁而烦恼)。

希望对你有帮助,

关于c++ - 文件锁定套接字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31383409/

相关文章:

linux - 检测 stdout 是否被重定向到管道(而不是文件、字符设备、终端或套接字)?

c++ - 如何以及何时制作指针拷贝

比较符号常量、枚举、常变量

c - C 标准和 C POSIX 中的 IO

c++ - 从 linux 交叉编译到 windows 的 visual studio 项目

c - C 列中连续 1 的最短数量

timer - ualarm 的方案/ Racket 等价物

c++ - codelite 自动完成不(真的)工作

c++ - 是否可以在 C++ 中进行多态成员重载?

c++ - 在 C++ 中使用静态函数,我的教授希望我告诉 main 哪个对象具有最高优先级而不传递任何内容