当前位置: 首页 > wzjs >正文

vs2010网站开发兰州网站建设哪家专业

vs2010网站开发,兰州网站建设哪家专业,北京建设网站合同下载,四川网站建设服务公司协程库官网下载 参考连接 https://blog.csdn.net/Naisu_kun/article/details/135396601 这个协程库是根据行号来进行跳转的,struct pt里面只有一个short类型变量用来存 当前行号, /* *阻塞并等待,直到condition为真。 *这个宏会阻塞原线程…

协程库官网下载
参考连接
https://blog.csdn.net/Naisu_kun/article/details/135396601

这个协程库是根据行号来进行跳转的,struct pt里面只有一个short类型变量用来存 当前行号,

/* 
*阻塞并等待,直到condition为真。
*这个宏会阻塞原线程,直到满足指定的条件
*/
一个指向原线程控制结构的指针。
#define PT_WAIT_UNTIL(pt, condition)PT_INIT(pt)就是把这个行号清0
PT_END(pt);//线程结束  
PT_INIT和PT_END要成对出现,因为他们是宏函数,PT_INIT里面只有一个 {,PT_END有一个},

在这里插入图片描述
在这里插入图片描述
只需要下面三个头文件即可实现非阻塞延时
在这里插入图片描述
具体代码如下,加sleep 1 是为了观察实验现象,项目里不加延时。

#include <stdio.h>
#include <stdlib.h>
#include "pt.h"
#include <time.h>
time_t timep;
struct tm *p;
typedef struct
{int relay_index;long long nowtime;//他的退出是不保存上下文的,如果有信息要保存要用全局变量struct pt relay_pt;
}Relay_Ctrl;
Relay_Ctrl relay_ctrl[2]={{0,0,{0}},{1,0,{0}}
};
int main(void)
{PT_INIT(&(relay_ctrl[0].relay_pt));//线程1初始化PT_INIT(&(relay_ctrl[1].relay_pt));//线程2初始化while(1){protothread(&relay_ctrl[0]);//执行线程0sleep(1);//延时1sprotothread(&relay_ctrl[1]);//执行线程1}printf("this is end\n");
}int protothread(Relay_Ctrl *relayCtrl)
{PT_BEGIN(&(relayCtrl->relay_pt));//线程开始while(1){relayCtrl->nowtime = time(&timep);PT_WAIT_UNTIL(&(relayCtrl->relay_pt), (time(&timep)-relayCtrl->nowtime>=2));//如果时间满2秒继续执行,否则记录运行点并退出线程1time(&timep); // 获取当前时间的秒数p = gmtime(&timep); // 将秒数转换为 tm 结构体printf("pt_%d_1过后当前时间:%d\n",relayCtrl->relay_index,p->tm_sec);relayCtrl->nowtime = time(&timep);PT_WAIT_UNTIL(&(relayCtrl->relay_pt), (time(&timep)-relayCtrl->nowtime>=5));//如果时间满5秒继续执行,否则记录运行点并退出线程1time(&timep); // 获取当前时间的秒数p = gmtime(&timep); // 将秒数转换为 tm 结构体printf("pt_%d_2过后当前时间:%d\n",relayCtrl->relay_index,p->tm_sec);}PT_END(&(relayCtrl->relay_pt));//线程结束
}

在这里插入图片描述

注意避坑
不能用switch,不要用局部变量,因为他是不保存上下文的。
在这里插入图片描述
在这里插入图片描述


文章转载自:

http://4yP45IMz.trkhx.cn
http://wfQAkM6B.trkhx.cn
http://NOq0R4tg.trkhx.cn
http://nEWX4PTr.trkhx.cn
http://5iCur1y2.trkhx.cn
http://Ifzm2rJ8.trkhx.cn
http://989K8Bhv.trkhx.cn
http://44143foN.trkhx.cn
http://mpdtCHBH.trkhx.cn
http://9HJF0N4d.trkhx.cn
http://mfiHXQxw.trkhx.cn
http://2wsvlwOZ.trkhx.cn
http://L1ulaEqs.trkhx.cn
http://pVBYGH40.trkhx.cn
http://yxoSfe9x.trkhx.cn
http://qWlAFhCD.trkhx.cn
http://5ZQdZBhK.trkhx.cn
http://Aopf5arR.trkhx.cn
http://InSL2oQp.trkhx.cn
http://pMQEnW1f.trkhx.cn
http://Je6CXDQW.trkhx.cn
http://NE67bAJw.trkhx.cn
http://Z9rvAV4l.trkhx.cn
http://76ll9DNI.trkhx.cn
http://BwEwIQx2.trkhx.cn
http://Dm580X3W.trkhx.cn
http://cul3S7sr.trkhx.cn
http://D1h7ccFn.trkhx.cn
http://TdDj4NFF.trkhx.cn
http://tnwMwDGA.trkhx.cn
http://www.dtcms.com/wzjs/666490.html

相关文章:

  • 企业网站不备案可以吗自己怎么做网站卖车
  • 塘厦建设网站软件开发合同协议
  • 网站后台管理系统怎么弄凡科模板建站
  • 大连网站程序开发有专门做背景音乐的网站吗
  • 哪里有最新的网站源码百度图片识别搜索引擎
  • 井陉矿区网站建设外贸网站建设方案
  • 三门峡市建设项目备案网站网站收录检测
  • 住房和城乡建设部网站预售证wordpress主题验证
  • 什么网站可以自己做房子设计南通专业企业门户网站设计
  • 网站制作介绍百度代理授权查询
  • 推广平台网站热狗网佛山哪里有网站开发?
  • 做弩的网站wordpress调用oss
  • 织梦网站演示易烊千玺网页设计模板
  • 驻马店网站建设天祥深圳网站制作的公司排名
  • 外贸有哪些网站做网站的工具有哪些
  • 网站建设的进度计划书wordpress 文章 字体
  • 做片头 网站北京王府井附近的酒店
  • 搭建网站找什么公司了解什么是网络营销
  • 58同城网站建设规划中国关键词网站
  • 永嘉县建设局网站电商运营公司
  • 站长工具seo排名网站标题关键词描述
  • 闲鱼网站如何赚钱找合作项目app平台
  • 广东东莞新闻最新消息徐州英文网站seo
  • 没有域名如何访问网站成都微信网站制作
  • aspnet网站开发案例wordpress可选模式主题
  • 制作一个企业网站多少钱企业服务公司经营范围是什么
  • 安康市建设局网站商务平台网站
  • 四川网站设计首选柚米科技怎么注册阿里巴巴店铺
  • 滴滴优惠券网站怎么做如何做网站公证
  • 广东省住房和城乡建设网站推广公司品牌