社区
C#
帖子详情
高分求助!寻求多线程选手,来实现我这个简单功能。我多加分撒~
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
打赏
收藏
高分求助!寻求多线程选手,来实现我这个简单功能。我多加分撒~
DataTable dt ; for (i = 0; i < rowEnd; i++) { DataRow dr = dt.Rows[i]; P( dr ) ; } 文档要求每1s内调用P方法控制在15次左右。 但目前P方法是通过网络调用远程机的接口,处理一个dr并获取返回值的过程 就耗时1s左右。 如何解决速率问题?用多线程么?请给出具体实现编码。 时间有限,没空多看书了,我多加分就是了!谢谢大家。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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这些.
HCIE H12-266 考试备考指南
HCIE RS LAB 新版考试包括TS(60分)、TAC(20分)、论述题(20分)、LAB(100分),分为上午场和下午场: 上午:09:00-12:00考试内容:TS、TAC 下午:12:20-18:00考试内容:LAB、论述题 论述题是两个大题,每题10分 TSTAC和LAB...
Android之
多线程
实现
方式及并发与同步
说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角色要给他一个线程吧,否则连实际场景都无法模拟,当然也没法说能用单线程来
实现
:比如最常见的“生产者,消费者模型”。 一、
多线程
实现
方式:...
Windows
多线程
编程 C语言
下面的代码,目的是将number加到MAX_NUMBER即可,由于是两个线程并行,总会多加一个1(若是10个线程并行,则会多加9,原因同理,当某一个线程将number的值加到MAX_NUMBER之后,其他9个线程被阻塞,但是都有写权限,...
IntelliJ IDEA 记学习笔《
多线程
调试》
IntelliJ IDEA 记学习笔《多...(其实就是我们平时用的条件断点,再多加个线程选项) 测试代码 package com.example.springbootdemo; class MyRunnable implements Runnable { //
实现
Runnable接口,作为线程的
实现
类
优雅设计封装基于Okhttp3的网络框架(三):
多线程
下载
功能
核心
实现
及 线程池、队列机制、终止线程解析
定义好了网络请求接口DownloadCallback 和网络请求类HttpManager,可以完成同步、异步请求操作,而接下来将编码
实现
多线程
下载
功能
的核心代码,通过多个线程之间的管理和调度来处理下载任务,最后再引入队列机制来...
C#
110,545
社区成员
642,581
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章