一. fork()
该函数用于创建子进程,根本平时学习总结一下几点:
1)根据fork函数的返回值不同, 若返回值大于零则执行的是父进程代码,当然该返回值是子进程的进程号,若返回值等于零则执行的是子进程代码。
2)子进程被创建是就好像是父进程的克隆,注意父进程的所有变量,子进程都会得到一份拷贝,因此改变子进程的变量值不会影响到父进程的变量值。
3)父进程中打开的文件描述父在子进程中也是打开的,呈现共享的状态。因此父子进程对文件描述符进行的操作是会相互影响的。见下图(拷贝于其他博文)
二. pthread_create()
该函数用于创建一个线程,函数原型如下:
int pthread_create(pthread_t*restrict tidp,const pthread_attr_t *restrict_attr,void*(*start_rtn)(void*),void *restrict arg);