日期:2014-05-16  浏览次数:20532 次

关于读写锁
程序是这样,服务器用写锁,多个客户端用读锁,如果某个客户端在上了读锁之后死掉了,那服务器岂不是再也上不了写锁了?

------解决方案--------------------
如果你这么写,那就是不行了,可以检查一下客户端,如果客户端死了,把对应的资源释放掉
------解决方案--------------------
你这儿说的这个“死”是指客户端意外退出,而不是死循环吧?如果是这样,对线程就用pthread_cleanup_push, pthread_cleanup_pop,对进程可以用atexit; 这些调用的作用是在进程或者线程退出名者意外终止时,进行一些清理处理,你可以在这些清理例程中释放所获取的读锁