导航

2012年2月11日

摘要: 一般来说,Posix的线程终止有两种情况:正常终止和非正常终止。线程主动调用pthread_exit()或者从线程函数中return都将使线程正 常退出,这是可预见的退出方式;非正常终止是线程在其他线程的干预下,或者由于自身运行出错(比如访问非法地址)而退出,这种退出方式是不可预见的。不论是可预见的线程终止还是异常终止,都会存在资源释放的问题,在不考虑因运行出错而退出的前提下,如何保证线程终止时能顺利的释放掉自己所占用的资源,特别是锁资源,就是一个必须考虑解决的问题。最经常出现的情形是资源独占锁的使用:线程为了访问临界资源而为其加上锁,但在访问过程中被外界取消,如果线程处于响应取消状态,且采用 阅读全文

posted @ 2012-02-11 14:47 网名还没想好 阅读(381) 评论(0) 推荐(0) 编辑

摘要: 面向对象语言C++的基本特征是封装、继承、多态,其实这些用C语言同样可以实现。封装可以用结构体来实现,继承可以用包含来实现,这些都好说,下面我用代码重点说一下如何用C语言实现C++的多态。using namespace std;typedef struct Animal{void (*show) ();}CAnimal;void showpig(){cout<<__FUNCTION__<<endl;}void showbird(){cout<<__FUNCTION__<<endl;}void showdog(){cout<<__FUN 阅读全文

posted @ 2012-02-11 14:14 网名还没想好 阅读(892) 评论(0) 推荐(0) 编辑