我有一个PCI驱动程序,有一个主进程,进程有三个优先级级别的线程,线程与驱动的通信采用event方式,其交互过程是当线程运行完毕用waitforsingleobject处于睡眠,等PCI驱动有中断来时通过keSetEvent来唤醒相应的线程,三个线程waitforsingleob...
全文
回复(5) 2004-08-20 10:57 来自版块 - 内核编程
表情
AthlonxpX860937-6262822(2004-08-21 15:01)
strideSleep(0)怎么加,加在waitforsingleobject什么地方? 谢谢! 另外,您有固定电话吗?我们可以电话讨论吗? 我的信箱是shapi1975@sohu.com(2004-08-21 14:57)
AthlonxpX86我意思是说,高优先级的线程停在了waitforsingleobject,即便有信号来,也不会继续运行,win2000的高优先级线程有时会出现这种问题,在你的循环中加入Sleep(0);可能会解决(2004-08-21 13:39)
stride死锁?我觉得不大可能,因为我的线程根本就没有等待其他资源,除了这个EVENT信号量,而且这个信号量也就这个线程等待,。 你能否说清楚一下你的死锁指的是?谢谢!(2004-08-21 11:49)
AthlonxpX86会不会高优先级的线程发生了死锁?这样线程会被堵死,我觉的NT系统中,优先级越高也容易发生死锁,比如下面的程序在底优先级中可以正常运行,但在高优先级中就不运行了 for(;;) { do something; }(2004-08-20 13:52)

返回顶部