多线程查询问题,谢谢大哥~

netvsj2ee 2008-03-05 01:54:48
我们一般在查询时只能等待计算机的查询过程,不能进行其它操作。
现在能不能这样:系统提供的多线程操作,可以在计算机查询的同时,用户可以浏览已经查询到的数据,于此同时计算机还在进行查询工作,这样做到浏览、查询两不误。asp.net[c#]实现,B/S结构。谢谢大哥~
...全文
183 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
octverve 2008-03-08
  • 打赏
  • 举报
回复
[Quote=引用 999999999999999999999999999999999999999999999999999999999999999999999999999999 楼 octverve 的回复:]
楼主对BS程序设计,理解还不透~
[/Quote]
octverve 2008-03-08
  • 打赏
  • 举报
回复
[Quote=引用 2000 楼 jinjazz 的回复:]
B/S结构的程序是无状态的,是一次性执行的一个过程
不适宜用多线程~。
[/Quote]

正解~~
Allen_Chen_ 2008-03-08
  • 打赏
  • 举报
回复
首先要做出这样的效果不是用多线程的.一般有两种方法:
1.Response.Flush.不过这个方法取决于浏览器.所以最好不要使用.
2.AJAX来做,一点一点的传给客户端.

分给我结帖,谢谢.
gauzxj 2008-03-08
  • 打赏
  • 举报
回复
思路不错啊 不过站资源
fcuandy 2008-03-08
  • 打赏
  • 举报
回复
...
charles_y 2008-03-08
  • 打赏
  • 举报
回复
BS啊

这样吧,查询每10个返回一次,也许效果看起来好一点

一定要用无刷新的方式处理这部分数据,不然的话会死的很难看
luck0235 2008-03-07
  • 打赏
  • 举报
回复
B/S结构的程序是无状态的,是一次性执行的一个过程
不适宜用多线程~
-------------------------
一直应用做的比较多,原理接触的比较少,但AJAX能改变无状态的HTTP协议下的用户体验,是不是也可以思考下多线程能改变些什么呢?



如果是查询本身的效率问题是无法解决的
-------------------------
起码得想办法解决用户的体验吧,总不能给用户一个Time Out,让他自己去猜成功还是不成功?


欢迎两位指教,共同提高。
luck0235 2008-03-07
  • 打赏
  • 举报
回复
楼上太武断了,类似楼主这样的需求绝对会有,JOIN几个千万、亿级的表,耗时不是以毫秒或秒来计算。比如1860处理投诉,就为了查找一条记录,花费十几二十分钟是很正常的事;再比如执行一个十分耗时的存储过程,这个存储过程不返回记录集,它只向数据库里写入数据,但也许它执行的时间会是一天、两天或是更长,这时同步操作是根本行不通的,只能采取异步线程的方式来实现。

欢迎大家发表自己的看法,有时间我写个代码供大家讨论与探讨,这块比较弱,多多指教。
huaer1011 2008-03-06
  • 打赏
  • 举报
回复
先整理下思路~
shumark 2008-03-06
  • 打赏
  • 举报
回复
Mark
jinjazz 2008-03-05
  • 打赏
  • 举报
回复
总的来说这是一个设计思路的问题,不是技术上的问题。
jinjazz 2008-03-05
  • 打赏
  • 举报
回复
你需要搞清楚到底是你的查询速度慢还是,因为数据量大而返回的慢。
如果是查询本身的效率问题是无法解决的,如果是大数据量需要返回的,首先确定是否需要如此大数据量一次返回。比如你可以通过分页来浏览,如果的确需要返回很多数据,可以用Resonse.Flush()来返回一部分刷新一部分。
viena 2008-03-05
  • 打赏
  • 举报
回复
如果你的查询过程不是一个整体的话,你本来就该把它分开来进行
分步(比如分页)就可以了,这与多线程没有关系
B/S结构的程序是无状态的,是一次性执行的一个过程
不适宜用多线程~
luck0235 2008-03-05
  • 打赏
  • 举报
回复
关于线程楼主可在MSDN中看一下System.Threading这个命名空间。

不过多线程通常伴随着异步,这个用AJAX应该可以解决。

公司也有类似楼主这样的需求,一直没时间来做,关注一下。
lihongdian 2008-03-05
  • 打赏
  • 举报
回复
可是可以,但是算法会复杂点.对CPU的要求也有点.

可以写一个Ajax,将查询的结果分段显示出来.在分段显示的时候给后台进程继续查询并将结构返回.当返回一定的字节数后

就提示给前台Ajax,然后前台继续显示.
viena 2008-03-05
  • 打赏
  • 举报
回复
你的思路有问题

62,039

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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