2017-07-14
今日是培训的第七天。
(不要问我为什么总写这句看似很low的话,这是一个程序员的修养)
今日,老师主要还在回顾一些之前的内容,新课讲的并不是很多。我就来show一下自己写的东西吧。
这是一个在Linux下的多线程将文件A的内容拷贝文件B中的程序
- 头文件部分:
#include <stdio.h>
#include <fcntl.h> //用来避免一些系统安全问题
#include <sys/types.h> //类型
#include <stdlib.h>
#include <unistd.h> //unix的一些系统调用
#include <time.h>
#include <pthread.h> //多线程头文件
#include <sys/stat.h> //一些方便的函数
* 调用的一些关键函数部分:
普通版:
pthread_join() 等待线程的结束
pthread_create() 线程的创建
open() 打开文件,返回一个文件描述符,还可以声明一些权限部分
read() 通过文件描述符进行读
write() 通过文件描述符进行写
lseek() 进行文件读写位置的偏移
truncate() 进行文件的截断,即将目标文件变成与源文件大小相等
缺点:在多线程的运行过程中,会有一些IO错误冲突的情况,要注意避免。
解决