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() 这种等待函数,虽说有的步骤先后不一定,但执行顺序在编译时会被决定,除非重新编译一次。

posted @ 2011-12-16 23:50  maliqian  阅读(1428)  评论(0编辑  收藏  举报