阅读:1223回复:10
旧问题去了,新的以来了!
我的驱动有一线程,顺序的读写没问题,
但是要两个线程,一个读,一个写,就会有问题,只能读到最后的几位,是不是我要在驱动中开一个buffer? |
|
沙发#
发布于:2002-11-18 11:31
首先感谢各位兄弟的热情!
我想你们还是不清楚我的意思,同样的一代码用系统自代的驱动可以很快的读出数据,但是用我的驱动速度就很慢,这是为什么,我的设备属于HID类。换句话说我是要做一个和HID.SYS一样的驱动,但是我的驱动速度却很慢。请指教! |
|
板凳#
发布于:2002-11-18 11:22
解决办法:
STARTIO 自旋锁 内核对象同步 |
|
地板#
发布于:2002-11-15 16:18
同步问题没有处理好。 同意。 to jfory: 像你这样的问题同步问题是肯定得好好处理的。敢问你是怎么处理的? |
|
|
地下室#
发布于:2002-11-15 16:10
我这样说可能更详细些,若只开一个线程,顺序读写没有问题, 如果你的读线程读的数据来自写线程写进去的东西,那当然容易出问题? |
|
|
5楼#
发布于:2002-11-15 13:14
我这样说可能更详细些,若只开一个线程,顺序读写没有问题,
但是若开两个线程,一线程写,一个线程读,就会有问题,我读到的不是我所想要的数据。这是为什么呢? |
|
6楼#
发布于:2002-11-15 11:43
同步问题没有处理好。
|
|
|
7楼#
发布于:2002-11-15 11:39
可用KeWaitForMultipleObjects去阻塞线程直到读完或写完。
|
|
|
8楼#
发布于:2002-11-15 11:37
加自旋锁试一下,或是互斥事件试一下.
|
|
|
9楼#
发布于:2002-11-15 10:49
我做的是一个USB设备,老还请老兄多指教!
|
|
10楼#
发布于:2002-11-15 10:36
读是用中断方式吗?
|
|
|