C语言多线程开发中死锁与读写锁问题