超时消息处理 C语言

超时消息处理 C语言,第1张

前段时间有个需求是向S端发送消息如果在20S之内没有收到S端的回执,就要对发送的消息进行超时处理。在一个线程中去处理超时消息,创建一个单链表,在发送消息的同派此时,将该消息体加到链表中,在线程中一直对这个链表进行遍历,查看时间是否大于等于20,如果大于等于20,就告诉用户消息超时,接着从链表尘卜迅中删除该消息,或者这个数据的标志位为1,也从链表中删除该消息。如果过了20S收到消息回执,则将该消弊皮息的的标志位置为1。

将scanf输入换成从文件读取数据,使用fopen, fread, fwrite之类的函数薯兆,不要从终端上直接输入。或者使用重定拿手铅向<从文件读取数据。

如果效率还是不行,再将printf改消好成输出到文件中。

for(i=ai<=bi++)

i每次递增2,因为偶数不可能是。这样可以少一半的时棚罩颂间。

改动几点:

{for(j=2j<=nj++)

{if(i%j==0) c=1}

j 可以从3开始,每次闷圆递增2,这样可以少一半的时间。

结合下面的查表法,可以得到更好的链郑结果。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12544408.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存