pthread_self 、pthread_exit 函数 and so on (杂)
函数原型:
pthread_t pthread_self(void);
函数作用:
获得线程自身的ID。pthread_t的类型为unsigned long int,所以在打印的时候要使用%lu方式,否则将产生奇怪的结果。
函数原型:
pthread_exit(void* retval);
函数作用:
线程通过调用pthread_exit函数终止执行,就如同进程在结束时调用exit函数一样。这个函数的作用是,终止调用它的线程并返回一个指向某个对象的指针。
注意:(某程序里的一段)
pthread_exit ("thread all done"); // 重点看 pthread_exit() 的参数,是一个字串,这个参数的指针可以通过
// int pthread_join (pthread_t tidp , void ** thread_return);赋值给其中的第二个参数,
//详见百度百科http://baike.baidu.com/view/3361775.htm
其他:
1、pthread_cleanip_push() 与 pthread_cleanip_pop()
先push后pop,且遵循堆栈先进后出的原则,push之后遇到pop则判断pop中的参数,非零则执行push中指定的清理函数,为零则不执行。
2、进程与线程,线程与线程都是并行运行,除非有pthread_join() 这种等待函数,虽说有的步骤先后不一定,但执行顺序在编译时会被决定,除非重新编译一次。