当前位置: 技术问答>linux和unix
请问多个线程同时读写同一文件的操作是否安全?
来源: 互联网 发布时间:2016-02-17
本文导语: 比如说,线程R1~Rm,read文件F,线程W1~Wn,write文件F,不加同步操作的话,会有什么问题呢? | 1.在linux没有多线程之前很多C函数库不是线性安全的。 想楼主所说的问题,肯定存在。在调用...
比如说,线程R1~Rm,read文件F,线程W1~Wn,write文件F,不加同步操作的话,会有什么问题呢?
|
1.在linux没有多线程之前很多C函数库不是线性安全的。
想楼主所说的问题,肯定存在。在调用这些函数之前,要做些保护是必须的。如果单线程的话另当别论
2.像楼主所说的例子,两个线程处理一个文件。大的逻辑是这样的。如果在向深分析的话。这就需要考虑cpu的cache问题了
想楼主所说的问题,肯定存在。在调用这些函数之前,要做些保护是必须的。如果单线程的话另当别论
2.像楼主所说的例子,两个线程处理一个文件。大的逻辑是这样的。如果在向深分析的话。这就需要考虑cpu的cache问题了
|
随机的,读写混乱.得不到你期望的值.
|
同意1楼的说法
|
肯定有问题了
是人就要吃饭的嘛
是人就要吃饭的嘛
|
可以锁一下
一个线程调用开始上锁文件 用完释放
一个线程调用开始上锁文件 用完释放
|
不加锁的话,多个线程访问文件的顺序都是随机的,操作系统不会协调