线程的优点
1.有些情况下需要程序同时处理多个事情,因此需要多个线程;
2.分离成多个线程,可以改善程序执行的性能;
3.线程见的切换需要操作系统做的工作以及对资源的需求要小于进程
线程的缺点
1.需要仔细的设计;
2.调试苦难;
3.将大量计算分为两个部分,并不会提高计算的速度;
线程编程
1. 需要 #include <pthread.h>;
2.int pthread_create(pthread *thread, pthread_attr_ *attr, void *(start_routine)(void), void *arg);
- ① 它的作用是创建一个新线程;
- ② 第一个参数是指向pthread_t类型数据的指针。线程被创建时,这个指针指向的变量中将被写入一个标识符,我们用该标识符来引用新线程;
- ③ 第二个参数用于设置线程的属性。一般不需要特殊的属性,所以只需设置该参数为NULL
- ④ 最后两个参数分别告诉线程将要启动执行的参数和传递给该函数的参数;
3.void pthread_exit(void retval);它的作用是终止调用它的线程并返回一个指向某个对象的指针,注意这个指针绝对不能指向局部变量;
4.int pthread_join(pthread_t th, void **thread_return);它的作用等价于进程中用来收集子进程信息的wait函数;
- (1)第一个参数指定了将要等待的线程,线程通过pthread_create返回的标识符指定;
- (2)第二个参数是一个指针,它指向另一个指针,而后者指向线程的返回值;