文件锁定套接字?
File locking a socket?
是否可以为线程锁定套接字?例如使用 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,所以我也不会为自旋锁而烦恼)。
希望对您有所帮助,
是否可以为线程锁定套接字?例如使用 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,所以我也不会为自旋锁而烦恼)。
希望对您有所帮助,