Chinaunix首页 | 论坛 | 博客
  • 博客访问: 48531
  • 博文数量: 24
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 62
  • 用 户 组: 普通用户
  • 注册时间: 2014-10-14 21:50
个人简介

只有想不到的,没有做不到的

文章分类
文章存档

2014年(24)

我的朋友

分类: 嵌入式

2014-10-29 19:19:42

原文地址:嵌入式,多线程 作者:一生有你llx

创建线程:#include 

                 int  pthread_create(pthread_t  *tidp, ,const  pthread_attr_t  *attr,void *(*start_rtn)(void),void *arg)

                 tidp   线程ID              attr 线程属性,一般为空                函数返回0代表成功

                 start_rtn  线程要执行的函数             arg  start_rtn的参数

终止线程:进程中的任何一个线程调用exit或_exit,那么整个进程就会终止。线程的正常退出方式

                 1、线程从启动例程中返回,即return

                 2、线程被另一个进程终止

                 3、线程自己调用pthread_exit函数

线程等待:int  pthread  join(pthread_t  tid,void  **rval_ptr)

                           tid  等待退出的线程id

                           rval_ptr   线程退出返回值的指针

清除:从pthread_cleanup_push到pthread_cleanup_pop之间的程序段中的终止动作(不包括return)会调用pthread_cleanup_push指定的清理函数

         

            void  pthread_cleanup_push(void(*rtn)(void *),viod  *arg)         将清除函数压入清除栈

                   rtn  清除函数       arg  清除函数的参数

            void  pthread_cleanup_pop(int  execute)

                   execute 决定执行到pthread_cleanup_pop时是否在弹出清除函数的同时,执行清除函数,1执行,0不执行

阅读(833) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~