首页
社区
课程
招聘
[讨论]网络编程中的系统延时
发表于: 2008-5-21 14:22 4535

[讨论]网络编程中的系统延时

2008-5-21 14:22
4535
生活就是这样充满了戏剧性。

    这段时间一直在写邮件收发系统,工作做的差不多了,但发现当用RETE接收邮件超过3封或者四封时服务器回馈信息窗口回馈的信息就产生了混乱,它会把邮件内容也一起显示出来,前段时间应为系统还没设计好就没在意这个问题,今天空下来决定研究下是怎么回事,为什么前三封是好的,而到后面就出现问题。

    其实检查的过程很简单,就是我但不运行到,回馈服务器信息那,然后暂停看看返回的是什么,前三封没问题,正好看第四封时发现回馈也是正确的当时就奇怪了,往后的几封也都是正确的,反复几次发现只要单步运行就正确,连续运行就不对,这是突然想起大二时上单片机老师说的系统延时这一说法,于是自己试了下果然,我Thread.Sleep延时0.1秒(可能还可以再小些)回馈信息窗口回馈的信息就是正确的。

    1.这系统延时有什么玄机?为什么会出现这样的现象?
    2.Thread.Sleep的延时感觉像死机,有没有什么其他比较好的延时?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 1852
活跃值: (504)
能力值: (RANK:1010 )
在线值:
发帖
回帖
粉丝
2
我没写过邮件系统,但就你的描述来看可能因为在多线程中数据处理不同步造成的。
例如前一封邮件没处理完,后一封接着过来,此时如果对于数据没有同步机制的话,很容易造成数据混乱的情况。
可以检查下多线程数据处理部分,考虑下是否该加入临界区或原子操作等机制
2008-5-21 19:56
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
OK,谢谢大大,我现在就在看这个线程的问题
2008-5-21 20:14
0
游客
登录 | 注册 方可回帖
返回
//