转:线程引入 pthread_self 解决不同平台的问题!

url:http://blog.163.com/xychenbaihu@yeah/blog/static/1322296552010102533746418/

引入pthread_equal的原因:

       在线程中,线程ID的类型是pthread_t类型,由于在Linux下线程采用POSIX标准,所以,在不同的系统下,pthread_t的类型是不同 的,比如在ubuntn下,是unsigned long类型,而在solaris系统中,是unsigned int类型。而在FreeBSD上才用的是结构体指针。 所以不能直接使用==判读,而应该使用pthread_equal来判断。

技术在发展,技术实现有不同,一切都是为了上层接口尽可能不变。为程序员不用写多平台的代码做出贡献,有时候也会带来许多疑惑和不解。不过那样是值得的,学习就是未知,求解的过程。

posted @ 2013-02-26 10:19  lc_cnblog  阅读(333)  评论(0编辑  收藏  举报