高分求助!寻求多线程选手,来实现我这个简单功能。我多加分撒~

mulong 2008-07-01 04:38:56
DataTable dt ;
for (i = 0; i < rowEnd; i++)
{
DataRow dr = dt.Rows[i];
P( dr ) ;
}


文档要求每1s内调用P方法控制在15次左右。
但目前P方法是通过网络调用远程机的接口,处理一个dr并获取返回值的过程 就耗时1s左右。

如何解决速率问题?用多线程么?请给出具体实现编码。
时间有限,没空多看书了,我多加分就是了!谢谢大家。
...全文
159 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
waikey 2008-07-02
  • 打赏
  • 举报
回复
thread th = new thread(new threadstart(threadMethod));
th.start()

放到你要调用的方法里面

记住添加引用
using System.Threading
waikey 2008-07-02
  • 打赏
  • 举报
回复
thread th = new thread(new threadstart(threadMethod));
th.start()

private void threadMethod()
{
DataTable dt ;
for (i = 0; i < rowEnd; i++)
{
DataRow dr = dt.Rows[i];
invoke(new delegate(delegateInvodeMethod),new object[]{invokeMethod});
}
}

private delegate void delegateInvokeMethod(datarow dr)

private void invokeMethod(dataRow dr)
{
P( dr ) ;
//doSomeThing...
}
diteric 2008-07-02
  • 打赏
  • 举报
回复
这个远程机的接口是web services么,如果是可以看看能不能换个开发方式,例如CORBA

如果远程接口不能变,试试能不能调整DataTable的值,发送request的值也直接影响response的速度

多线程应该不好用吧,增加带宽可以。。暂时就能想到这些

mulong 2008-07-02
  • 打赏
  • 举报
回复
今天没人么?请继续发言讨论
sportboy2008 2008-07-01
  • 打赏
  • 举报
回复
顶一下!
mulong 2008-07-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yatobiaf 的回复:]
你要搞清楚P为什么不能每秒调用15次的瓶颈在哪里。我觉得问题在于网络,还有远程服务器对P操作的响应。如果是上述问题,你在客户端用多线程也没用。你在客户端唯一能做的事情是,通过多线程,当上个P还没有返回的时候就开始执行下个P,是这样的嘛?
[/Quote]
对。网络、操作响应都是耗时的主要原因。网络原因应该是耗时大头。

“在客户端,当上个P还没有返回的时候就开始执行下个P”我就是想要这个。
mulong 2008-07-01
  • 打赏
  • 举报
回复
多谢greystar
网络通过dr传参的确是慢,已改

P方法没法改进。P方法是调用远程机的函数接口。但是P方法貌似能并发执行,比如两台PC都连续调用P方法能正常执行任务,所以才想起来用多线程。

真不能解决么?继续求助。
yatobiaf 2008-07-01
  • 打赏
  • 举报
回复
你要搞清楚P为什么不能每秒调用15次的瓶颈在哪里。我觉得问题在于网络,还有远程服务器对P操作的响应。如果是上述问题,你在客户端用多线程也没用。你在客户端唯一能做的事情是,通过多线程,当上个P还没有返回的时候就开始执行下个P,是这样的嘛?
baihe_591 2008-07-01
  • 打赏
  • 举报
回复
不懂,帮顶.
greystar 2008-07-01
  • 打赏
  • 举报
回复
1s内调用P方法控制在15次,那采用定时器,不过定时器也不是一定准确的.
如果p方法不改进,你是没办法达到你的要求的.就是多线程也解决不了你的问题
greystar 2008-07-01
  • 打赏
  • 举报
回复
P( dr ) ; 如果是远程调用的话,最好不要定义成datarow形式,直接就是string,int这些.

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧