这篇文章跟之前我发过的
其实内容是差不多的,只不过之前的版本是每个线程都开辟一个新的写文件描述符和读文件描述符
而这个版本因为引入了pread 和 pwrite这两个函数,作用是使文件偏移量的设定和数据的读取成为原子操作。
因此就解决了并发线程对统一文件进行读写操作的问题。
#include <unistd.h>
#include <pthread.h>
#include <sys/stat.h>
#include <stdio.h>
#include <fcntl.h>
#include <string.h>
#include <stdlib.h>
char srcfile[20] = "qwe\0";
typedef struct workInfo
{
long pos;
long length;
int wno;
int rno;
} workInfo;
void *func (void *ptr)
{