1. struct timeval:
#include <bits/time.h>
struct timeval
{
__time_t tv_sec; /* Seconds. */
__suseconds_t tv_usec; /* Microseconds. */
};
__time_t 是 long int 的宏定义
__suseconds_t 也是 long int的宏定义.
2.
stdin, stdout, stderr类型为 FILE*
STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO类型为 int
使用stdin的函数主要有:fread、fwrite、fclose等,是文件流方式。属于高级IO,带缓冲的。
使用STDIN_FILENO的函数有:read、write、close等, 属于低级IO,要自己处理缓冲。
STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO 定义在 <unistd.h>中,值分别是 0,1,2.
3. 线程
(1) 线程的终止:
情况一:如果从 main() 函数中返回或者是调用了 exit() 函数退出主线程,则整个进程将终止,此时进程中的所有线程也将终止。
情况二:主线程调用 pthread_exit()函数,那么仅仅是主线程消亡,进程不会终止,进程内的其他线程也不回终止,直到所有线程结束,进程才会终止。