线程和fork—pthread_atfork
父进程调用fork创建子进程后,子进程将会继承父进程中的互斥量、读写锁、条件变量的状态。(如果父进程占有锁,那么子进程同样占有锁,因此需要清除锁状态
。)
int pthread_atfork(
void (*prepare)(void), 由父进程在调用fork后,且创建子进程完成之前
void (*parent)(void), fork创建子进程完成后,fork调用返回给父进程之前
void (*child)(void) fork创建子进程完成后,fork调用返回给子进程之前
);
返回值:成功,返回0;失败,返回错误编号
pread / pwrite
作用:使偏移量设定和数据读写2个操作成为一个原子操作。