+ -
当前位置:首页 → 问答吧 → 多线程(c/s)

多线程(c/s)

时间:2011-12-11

来源:互联网

当前审批流程完成后,会插入message表中一条信息。然后代码里用timer控件每一分钟检查该表是否有新数据。有则弹出提醒窗口。这样很耗资源,会是系统乃至整个电脑都很卡。

朋友叫我使用线程异步来解决,但是我没有思路。
希望好人告诉我该怎么去做呢?给个思路先啊

作者: youaway   发布时间: 2011-12-11

作者: hefeng_aspnet   发布时间: 2011-12-11

先说思路,在说知识技术啊。求帮助啊

作者: youaway   发布时间: 2011-12-11

每分钟检索的频率+表数据量不大的情况,不可能会导致卡的,也谈不上耗资源。比起人家网站每秒查询数据库的频率来说小得多。

作者: qldsrx   发布时间: 2011-12-11

多线程也很难高效率实现这个功能,

作者: stonespace   发布时间: 2011-12-11

如果你用的是sql 2005以上版本,最好用主动通知机制,

http://www.51cto.com/specbook/14/37094.htm

作者: stonespace   发布时间: 2011-12-11

先说思路,在说知识技术啊。求帮助啊 

作者: ZF535467222   发布时间: 2011-12-11

多线程也很难高效率实现这个功能

作者: ZF535467222   发布时间: 2011-12-11

基于你这样的死亡饿哦还不如写触发器

作者: fengyarongaa   发布时间: 2011-12-11

引用 8 楼 fengyarongaa 的回复:

基于你这样的死亡饿哦还不如写触发器


打错字了。。。 囧

基于你这样的思想 还不如在数据库写触发器

作者: fengyarongaa   发布时间: 2011-12-11

同意楼上的说法
数据不是海量 每分钟才检测一次 对计算机来说时间间隔好长了

你看这样如何
先建一个文件,记录你最后一次检测的时间
不论是timer还是线程
第一次执行全部检测,之后的每次检测都从文件读取的时间点开始检测是否有新数据
这样应该会好点吧,(如果你的数据量很小,应该比读取文件速度还要快吧)

线程的话 
先定义一个新类 
然后重写类的构造函数(参数为文件读取的时间点,调用回调函数的委托)
然后写个方法aa 用来执行数据库查询,并调用主程序中的回调函数
------------------------------------------
在主程序里把文件中的时间点读到,然后创建个上面类的实例,同时把时间点和回调方法传过去
新建线程,调用类实例中的方法aa
(需要在主程序中写个回调的方法,用来弹出提示信息)

作者: xl_0715   发布时间: 2011-12-11

我表示 回复的有点慢
同意#3楼看法。。。

作者: xl_0715   发布时间: 2011-12-12

相关阅读 更多