嵌入式开发之--多线程编程
时间:2011-04-04 来源:Roberts
为什么要线程:
1、节约资源,线程之间不但共享了代码段,同时也共享了数据段。
2、同一进程下的线程之间共享了数据空间,所以他们之间通信更方便。
创建线程:pthread_create();创建的线程处于就绪态,主线程继续往下执行。
终止线程:
1、自己终止:pthread_exit()。
2、被其他线程终止:kill。
3、线程执行完了,返回。
线程等待:pthread_join()。
获取当前线程的ID:pthread_self()。
清除线程:
1、清除函数压入清除栈栈(出现异常终止的时候好调用):pthread_cleanup_push()
2、将清除函数弹出清除栈:pthread_cleanup_pop().
清除函数执行的时机:
1、线程执行过程中被取消,异常终止。
2、调用pthread_exit()。
3、pthread_cleanup_pop()的参数非0。
执行顺序:注意栈的特点。
相关阅读 更多 +