关于通讯、数据库、线程同步(配合使用时)的讨论 ( 积分: 200 )

F

forall

Unregistered / Unconfirmed
GUEST, unregistred user!
选择了一个比较典型的应用:
数据库表:SMS
ID
MOBILE //手机号
CONTEXT //内容
STATUS //状态,1,0
实时监控数据库中是否有消息需要发送,如果查询出未发送的记录数大于0,从数据库中取一条STATUS等于0(未发的短信),给发送线程,发送线程发送成功后把该记录更新为已经发送,如果没有发送成功继续发送。
看看大家线程处理的时候怎么处理比较好!

//不使用TIME控件,尽量不使用SLEEP
 
不用定时器是不可能的,除非你的线程能够得到未发送信息的添加的消息,这样可以通过消息(WINDOWS消息,不是你的消息)驱动线程去查询未发送消息。
 
如果不用TIME,SLEEP,你的线程则是个死循环线程,那样我相信数据库估计受不了,因为对数据库操作也是需要花费时间的。。。。
 
不用计时器没法做吧,
 
不知道你用的是什么数据库,如果是sqlserver可以通过使用触发器,然后在里面使用存储过程xp_cmdshell调用你写的程序,通过你的程序来通知你要做的操作。
 
我正在做相同的程序,用短信猫发短信.
呵呵,也是用的多线程,但多线程访问数据库时老是出现问题.
 
顶部