2 u010584319 u010584319 于 2014.06.04 19:14 提问

两个线程分别写不同文件,文件却写串了!

Linux:
C语言进程:

同一个进程中,A线程写a文件,B线程写b文件,但最后a文件里除A的内容外还被插入了部分B的内容,而b文件从没有出现过错误;

我检查了文件描述符的操作,都是局部的,应该不会串用,请高手们看看,有没有遇到过类似的问题,帮帮忙!

2个回答

kevin_Luan
kevin_Luan   2014.06.15 14:09

需要把代码贴出来在才好分析问题。

oyljerry
oyljerry   Ds   Rxr 2014.12.26 23:04

是不是线程的内容错乱了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Java 多线程写同一个文件实现
最近项目中需要从网站上抓取大量的数据,采用了多线程技术,每个线程抓取的数据都需要保存到一个文件中,避免消耗大量的内存。 思路:多个访问线程将需要写入到文件中的数据先保存到一个队列里面,然后由专门的 写出线程负责从队列中取出数据并写入到文件中。 WriterQueue.java 存放要输出的数据队列 package com.yulore.write; import java.
解决Linux下多个进程或线程同时对一个文件进行写操作问题
Linux下多个进程或线程同时对一个文件进行写操作,如何解决冲突? 使用flock(锁定文件或解除锁定),简单可行! 先介绍一下flock函数吧 头文件 #include 定义函数 int flock(int fd,int operation); 函数说明 flock()会依参数operation所指定的方式对参数fd所指的文件做各种锁定或解除锁定的动作。此函数只能锁定整个文件,
JAVA多线程之两个线程同时写一个文件
1.多线程    线程是程序执行流的最小单元。是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。就绪状态是指线程具备
解决多进程或多线程同时读写同一个文件的问题
本文介绍一种在PHP中解决多进程或多线程同时读写同一个文件的问题。
代码来解决多进程/线程同时读写一个文件的问题。
大家都知道,PHP是没有多线程概念的,尽管如此我们仍然可以用“不完美”的方法来模拟多线程。简单的说,就是队列处理。通过对文件进行加锁和解锁,来实现。当一个文件被一个用户操作时,该文件是被锁定的,其他用户只能等待,确实不够完美,但是也可以满足一些要求不高的应用。 function T_put($filename,$string){ //追加方式打开 $fp
Log4j2实现不同线程不同级别日志输出到不同的文件中
Log4j2实现不同线程不同级别日志输出到不同的文件中 源码+log4j jar包
多进程、多线程并发写同一log文件问题
两个独立进程各自打开同一个文件 如果用O_APPEND标志打开了一个文件,则相应标志也被设置到文件表项的文件状态标志中。每次对这种具有添写标志的文件执行写操作时,在文件表项中的当前文件偏移量首先被设置为i节点表项中的文件长度。这就使得每次写的数据都添加到文件的当前尾端处。 UNIX系统提供了一种方法使得以下操作成为原子操作,该方法是在打开文件时设置O_APPEN
Linux下多个进程或线程同时对一个文件进行写操作和access函数
Linux下多个进程或线程同时对一个文件进行写操作和access函数 Linux下多个进程或线程同时对一个文件进行写操作,如何解决冲突? 使用flock(锁定文件或解除锁定),简单可行! 先介绍一下flock函数吧 头文件 #include 定义函数 int flock(int fd,int operation); 函数说明 flock()会依参数operation所指定的方式
多线程同时读写文件
无聊,写了一个多线程同时读写文件,当然同一时刻只有一个线程读或者写文件import java.io.File; import java.util.Random; public class Test { public static void main(String[]
四个线程写四个文件
题目: 有四个线程1、2、3、4。线程1的功能就是输出1,线程2的功能就是输出2,以此类推.........现在有四个文件ABCD。初始都为空。现要让四 个文件呈如下格式:A:1 2 3 4 1 2....B:2 3 4 1 2 3....C:3 4 1 2 3 4....D:4 1 2 3 4 1....请设计程序。 解答: 我的思路是这样的: 当每个子线程准备就绪后,主线程发出