frankwq
驱动牛犊
驱动牛犊
  • 注册日期2002-02-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1371回复:10

win2000和xp的thread的区别,50分!!!

楼主#
更多 发布于:2002-12-09 13:31
小弟做了一个usb(adsl modem)的driver,由于usb的设备在pc端不产生中断,所以我用了两个thread,一个write,一个read,但是我发现同样的driver在win2000和xp下,速度差别很大,xp比2000快的多,小弟想知道为什么2000下面会比较的慢。谢谢帮忙。

最新喜欢:

skylglskylgl
ydyuse
驱动老牛
驱动老牛
  • 注册日期2002-07-25
  • 最后登录2005-03-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-12-09 14:40
有意思,不过你是否肯定是他们的线程处理不同呢?
生命驱动,活力无限!
frankwq
驱动牛犊
驱动牛犊
  • 注册日期2002-02-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-12-09 15:00
我想应该是吧,同样的driver,同样的测试环境。
frankwq
驱动牛犊
驱动牛犊
  • 注册日期2002-02-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-12-09 15:03
ftp download测速,2000下350k bytes/s,xp下580k bytes/s,我希望能将2000下的速度提高。不知道大侠有何高见。
ydyuse
驱动老牛
驱动老牛
  • 注册日期2002-07-25
  • 最后登录2005-03-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-12-09 15:12
ftp download测速,2000下350k bytes/s,xp下580k bytes/s,我希望能将2000下的速度提高。不知道大侠有何高见。

上次我看同事用不同的FTP软件,速度差别很大哟,会不会是FTP的问题呢?
生命驱动,活力无限!
frankwq
驱动牛犊
驱动牛犊
  • 注册日期2002-02-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-12-09 15:26
尝试过几种不同的ftp软件,结果一样。
frankwq
驱动牛犊
驱动牛犊
  • 注册日期2002-02-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-12-09 15:41
我的read和write都设置了队列,两个thread分别从队列中read和write,这样是否是影响速度的原因?
ydyuse
驱动老牛
驱动老牛
  • 注册日期2002-07-25
  • 最后登录2005-03-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-12-09 15:52
应该不会。你用了同步技术吗?
生命驱动,活力无限!
frankwq
驱动牛犊
驱动牛犊
  • 注册日期2002-02-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-12-09 16:16
异步的
frankwq
驱动牛犊
驱动牛犊
  • 注册日期2002-02-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-12-09 16:38
由于涉及到公司的产品,所以我只能贴上部分code见附件。
send和receive都是先URB->IRP->IoSetCompletionRoutine->IoCallDriver->KeWaitForSingleObject,那位大侠帮忙分析一下瓶颈在那里?


附件名称/大小 下载次数 最后更新
2002-12-09_code.txt (3KB)  1
ydyuse
驱动老牛
驱动老牛
  • 注册日期2002-07-25
  • 最后登录2005-03-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-12-10 10:04
我不知这个技巧你是否采用:
  write从不完全填充输出缓冲区,总是留下至少一个字节的空洞,因此当缓冲区空时,WP和RP(读写指针) 总是相等的;当存在数据时,他们是不等的。这样也许能提高速度。
生命驱动,活力无限!
游客

返回顶部