1 创建线程
下面的程序,我们可以用它来创建一个 POSIX 线程:
#include <pthread.h>
pthread_create (myThread, attr, start_routine, arg)
在这里,pthread_create 创建一个新的线程,并让它可执行。下面是关于参数的说明:
参数 | 描述 |
myThread | 指向线程标识符指针 |
attr | 一个不透明的属性对象,可以被用来设置线程属性。您可以指定线程属性对象,也可以使用默认值 NULL。一般不需要关注,直接用NULL即可。 |
start_routine | 线程运行函数起始地址,一旦线程被创建就会执行。函数内部就是子线程要运行的内容。 |
arg | 运行函数的参数。必须通过把引用作为指针强制转换为 void 类型进行传递。如果没有传递参数,则使用 NULL。一般不需要关注,直接用NULL即可。 |
2 终止线程
终止线程可采用return NUL自动退出,也可以采用pthread_exit(NULL)强制退出。
3 示例
3.1 示例代码
该代码先执行main函数,然后创建了一个子线程thread_func,此时就存在两个线程,一个主线程,一个子线程。主线程运行一个计算(for循环i);子线程运行一个计算(for循环j)。最后主线程计算结束,子线程计算结束,子线程退