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

广东网站建设公司哪家好建设门户网站培训通知

广东网站建设公司哪家好,建设门户网站培训通知,网站编辑可以做运营吗,学校html网站模板//watcher 状态 enum watcher_state_t {/** 没有 watcher 线程正在运行或排队 */WATCHER_STOPPED 0,/** job已排队等待监视,但尚未启动 */WATCHER_QUEUED,/**观察程序线程处于活动状态,正在调度套接字事件 */WATCHER_RUNNING, };/*** 使用 poll&#xf…
//watcher 状态
enum watcher_state_t {/** 没有 watcher 线程正在运行或排队 */WATCHER_STOPPED = 0,/** job已排队等待监视,但尚未启动 */WATCHER_QUEUED,/**观察程序线程处于活动状态,正在调度套接字事件 */WATCHER_RUNNING,
};/*** 使用 poll() 监视多个文件描述符。*/
struct watcher_t {/*** 开始监视新的文件描述符。** 可以为同一个文件描述符注册多个回调,并且所有回调都会收到通知。此类回调是并发执行的。** @param fd		file descriptor to start watching* @param events	ORed set of events to watch* @param cb		callback function to invoke on events* @param data		data to pass to cb()*/void (*add)(watcher_t *this, int fd, watcher_event_t events,watcher_cb_t cb, void *data);/*** 停止监视以前注册的文件描述符。** 此调用将阻塞,直到此 FD 的任何活动回调返回。为该 FD 注册的所有回调都将被取消注册。** @param fd		file descriptor to stop watching*/void (*remove)(watcher_t *this, int fd);/*** 获取当前观察程序状态** @return			currently active watcher state*/watcher_state_t (*get_state)(watcher_t *this);/*** 销毁 watcher_t。*/void (*destroy)(watcher_t *this);
};
struct private_watcher_t {watcher_t public;/*** 注册的FDs句柄链表*/entry_t *fds;/*** 最后注册的一个 FD*/entry_t *last;/*** 注册的 FDs数量*/u_int count;/*** 等待 FD 列表的更新?*/bool pending;/*** watcher状态*/watcher_state_t state;/***  FD 链表操作互斥锁*/mutex_t *mutex;/*** 条件变量发出回调完成信号*/condvar_t *condvar;/*** 通知管道到信号watcher观察程序线程*/int notify[2];/*** watcher程序线程要处理的回调job列表,如 job_t*/linked_list_t *jobs;
};
struct entry_t {//要watch的文件描述符int fd;//watch的事件类型读或写watcher_event_t events;//回调函数watcher_cb_t cb;//回调函数参数void *data;//回调函数是否正在执行int in_callback;//链表entry_t *next;
};
/*** 我们为异步通知传递的数据*/
typedef struct {/** 正在处理的entry */entry_t *entry;/** 文件描述符 */int fd;/** 事件类型 */watcher_event_t event;/** 事件回调 */watcher_cb_t cb;/** 回调函数参数 */void *data;/** keep registered? */bool keep;/** 引用的watcher*/private_watcher_t *this;
} notify_data_t;

watcher_create函数
(1)创建一个private_watcher_t 实例,状态机为WATCHER_STOPPED;
(2)create_notify创建非阻塞pipe管道,this->notify;
destroy函数是反向操作

add操作:
(1)初始化一个entry,保存watch的fd,监听的事件类型,事件相关的回调及参数。
(2)将entry,也即要监听的fd事件,如读事件加入到watcher的fds链表和last链表中统一处理。同时记录entry总数。
(3)watcher状态机:WATCHER_STOPPED-》WATCHER_QUEUED,将watcher job以最高的优先级加入processor的job队列。watcher job的处理函数为watch,processor会从线程池中获取一个线程执行watcher job的watch函数,该线程是private_watcher_t 实例的运转线程。如果状态机不是WATCHER_STOPPED,则调用update_and_unlock函数,向管道写入’u’消息。处理watcher job的线程执行的watch函数会收到该消息。
remove_操作:
(1)遍历fds链表,entry->fd == fd比较,如果找到,is_in_callback = TRUE;说明正在执行,则不执行移除,this->condvar->wait(this->condvar, this->mutex) 调用remove的线程进入条件等待状态; (notify_end和activate_all函数会发信号),唤醒后重新执行(1);
(2)否则从fds链表和last链表中移除这个监听fd事件,并调用update_and_unlock函数,向管道写入’u’消息。处理watcher job的线程执行的watch函数会收到该消息。


文章转载自:

http://itL7RZJx.nmwgd.cn
http://zeuzm5NA.nmwgd.cn
http://dnPL5hOz.nmwgd.cn
http://qFyHrzln.nmwgd.cn
http://5WticWFR.nmwgd.cn
http://O0Hl9GUn.nmwgd.cn
http://1vGMRnUU.nmwgd.cn
http://s8n4Mf3y.nmwgd.cn
http://z6weGPrl.nmwgd.cn
http://NVCmtKEW.nmwgd.cn
http://z86pJ3Nc.nmwgd.cn
http://EbnWQFJp.nmwgd.cn
http://J4nQkW5U.nmwgd.cn
http://rpGpzRZu.nmwgd.cn
http://iUPAyT4r.nmwgd.cn
http://8MHaZyN2.nmwgd.cn
http://MlJbYclX.nmwgd.cn
http://XjvER7Uu.nmwgd.cn
http://PgeISbyg.nmwgd.cn
http://2E5Aa9bP.nmwgd.cn
http://RyRgP1E6.nmwgd.cn
http://huCxoH4Q.nmwgd.cn
http://OfszZTgB.nmwgd.cn
http://U3dLorfK.nmwgd.cn
http://pjTwlPBO.nmwgd.cn
http://R5jNTXPg.nmwgd.cn
http://KSf6kKUE.nmwgd.cn
http://QPsDlloR.nmwgd.cn
http://88ejOxkG.nmwgd.cn
http://PvHmx8Ni.nmwgd.cn
http://www.dtcms.com/wzjs/766420.html

相关文章:

  • 厦门网站建设方案策划做网站开发需要什么技能
  • 企业网站建设 调研制作触屏版网站开发
  • wordpress子站共享用户名中国局势最新消息今天
  • 网站开发专业成功人士广东做网站公司
  • 网站建设协议需要注意的问题wordpress 中文在线字体
  • 免费查公司信息的网站宁波网站seo
  • 网站建设 中企动力 常州洛阳设计公司官网
  • 沈阳cms建站模板房地产网站 模板
  • 江西网站开发科技公司wordpress预订插件
  • 抖音开放平台搜索引擎优化的步骤和具体方法
  • 怎么让公司建设网站邓州市建设局网站
  • 设计网站的元素汕头 网站设计
  • 做家装的网站好有关网站开发的论文
  • 晋江模板建站google安卓手机下载
  • 网站打开不对淘宝接单做网站
  • 宁波哪里有网站建设杭州画册设计公司
  • 用mvc做网站的缺点seo诊断工具有哪些
  • 深圳营销型网站建设费用丰台网站制作公司
  • 企业品牌网站建设类型鲜花网站开发背景
  • 如何备份网站 整站建设电子商务系统网站
  • 网站底部设计源码网站实现留言功能吗
  • 轻松网站建设网站维护运营主要是做什么的
  • 自己可以做网站推广吗网站基本架构设计的主要步骤
  • 网站集约化建设 技术做js题目的网站知乎
  • 移动端网站的优势百度找不到我的网站了
  • 做网站的公司主要工作网站运营团队建设
  • 惠州建设厅网站怎样用flash做网站
  • 手机网站的建设价格wordpress主页显示分类
  • 华文细黑做网站有版权吗做个网站要多少钱建站费用明细表
  • 中国最新消息军事方面的婚纱摄影 网站关键词 优化