十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
C语言的延迟函数一般是利用无意义程序运行来控制时间从而达到延时的目的
成都创新互联主营皮山网站建设的网络公司,主营网站建设方案,App定制开发,皮山h5重庆小程序开发公司搭建,皮山网站营销推广欢迎皮山等地区企业咨询
举个例子:
for(i=0;ix;i++)
for(j=0;j120;j++);
这是延时x毫秒的for循环语句。
值得注意的是记得最后的;一定得记得写。
#include stdio.h
#include windows.h
//子线程函数
char flag = 0;
char result = 0;
DWORD WINAPI longTimeFunction(LPVOID pM)
{
while(1){
printf("opreating...\n");
Sleep(20);
}
result = 1;
flag = 1;
}
//主函数,所谓主函数其实就是主线程执行的函数。
int main()
{
printf("simple multi thread,INFINITE:%d\n",INFINITE);
printf(" -- by MoreWindows( ) --\n\n");
flag = 0;
HANDLE longTimeFunctionHandle = CreateThread(NULL, 0, longTimeFunction, NULL, 0, NULL);
WaitForSingleObject(longTimeFunctionHandle, 200);
if(flag == 0){
printf("Timeout!\n");
result = -1;
}
printf("result: %d\n", result);
return 0;
}
前段时间有个需求是向S端发送消息,如果在20S之内没有收到S端的回执,就要对发送的消息进行超时处理。在一个线程中去处理超时消息,创建一个单链表,在发送消息的同时,将该消息体加到链表中,在线程中一直对这个链表进行遍历,查看时间是否大于等于20,如果大于等于20,就告诉用户消息超时,接着从链表中删除该消息,或者这个数据的标志位为1,也从链表中删除该消息。如果过了20S收到消息回执,则将该消息的的标志位置为1。
看意思是输出m到n间的素数,一行5个数。
超时原因很多,可能n太大或者m2,代码里应该排除这些情况