阅读:1371回复:10
win2000和xp的thread的区别,50分!!!
小弟做了一个usb(adsl modem)的driver,由于usb的设备在pc端不产生中断,所以我用了两个thread,一个write,一个read,但是我发现同样的driver在win2000和xp下,速度差别很大,xp比2000快的多,小弟想知道为什么2000下面会比较的慢。谢谢帮忙。
|
|
最新喜欢:skylgl |
沙发#
发布于:2002-12-09 14:40
有意思,不过你是否肯定是他们的线程处理不同呢?
|
|
|
板凳#
发布于:2002-12-09 15:00
我想应该是吧,同样的driver,同样的测试环境。
|
|
地板#
发布于:2002-12-09 15:03
ftp download测速,2000下350k bytes/s,xp下580k bytes/s,我希望能将2000下的速度提高。不知道大侠有何高见。
|
|
地下室#
发布于:2002-12-09 15:12
ftp download测速,2000下350k bytes/s,xp下580k bytes/s,我希望能将2000下的速度提高。不知道大侠有何高见。 上次我看同事用不同的FTP软件,速度差别很大哟,会不会是FTP的问题呢? |
|
|
5楼#
发布于:2002-12-09 15:26
尝试过几种不同的ftp软件,结果一样。
|
|
6楼#
发布于:2002-12-09 15:41
我的read和write都设置了队列,两个thread分别从队列中read和write,这样是否是影响速度的原因?
|
|
7楼#
发布于:2002-12-09 15:52
应该不会。你用了同步技术吗?
|
|
|
8楼#
发布于:2002-12-09 16:16
异步的
|
|
9楼#
发布于:2002-12-09 16:38
由于涉及到公司的产品,所以我只能贴上部分code见附件。
send和receive都是先URB->IRP->IoSetCompletionRoutine->IoCallDriver->KeWaitForSingleObject,那位大侠帮忙分析一下瓶颈在那里? |
|
|
10楼#
发布于:2002-12-10 10:04
我不知这个技巧你是否采用:
write从不完全填充输出缓冲区,总是留下至少一个字节的空洞,因此当缓冲区空时,WP和RP(读写指针) 总是相等的;当存在数据时,他们是不等的。这样也许能提高速度。 |
|
|