我在inux 32-bit系统用互斥锁时用down()获取信号量时可能出现了睡眠状态,在改用down_trylock()代替后可以消除问题,但用down_trylock()可能会出现的问题是:down_trylock()不能获得信号量sem时,返回值为非0值,这时有失败的可能。所以不想用down_trylock()。然而在linux 64-bit系统下,用down()实现信号获取就没有出现睡眠状态。 曾试过用读写锁的write_lock来实现独占,可以解决问题,而且得到了预期的结果。但效率可能没有...
by romalql - C/C++ - 2007-07-03 09:52:11 阅读(1490) 回复(2)
内核为2.4.20, 多CPU平台下创建了几个线程, 这几个线程都会访问一个全局的链表, 所以需要互斥锁. 我了解到的锁有: sem_init(), pthread_mutex_init(). 想找一个开销最小的方法. 在用户空间编程我还是新手:oops:, 所以希望得到大家多多指教. 谢谢!
1。 Unix/linux中进程的互斥用什么来做?用wait和waitid吗? 2。ANSI I/O有自己的buffer, 如果用系统调用的write/read/.../sync, 来写磁盘时, 在sync之前系统崩溃了,那么sync的操作就不进行了吗?
SYBASE12.52 FOR LINUX怎么修改表锁类型? 我想把库里的gds表的锁类型调整为行级锁.锁类型有哪几种,请各位指点一下.急.在线等.