怎么保证多进程或多线程写入一个文件不出现冲突?

0
小熊
小熊
管理员提问于11月前
答案 1
0
小熊小熊 管理员回答于11月前

针对多线程

最简单的方式是加锁

针对多进程

  • 信号量(计数器)
    为了防止冲突,我们得有个约束或者说一种保护机制。使得同一份共享的资源只能一个进程使用
    p操作为申请资源,会将数值减去M,表示这部分被他使用了,其它进程暂时不能用。v操作是归还资源操作,告知归还了资源可以用这部分。
  • 信号
    一旦进程发送某一个信号给另一个进程,另一进程将执行相应的函数进行处理。也就是说把可能出现的异常等问题准备好,一旦信号产生就执行相应的逻辑即可。
  • 套接字(远程通信)
    可以跨主机通信 acept socket
  • 中间件加锁