Task类
来源:互联网 发布:推荐几款网红拍照软件 编辑:程序博客网 时间:2024/06/04 03:52
Darwin中的Task相关的类有三种: TaskThreadPool(Task线程池类)、TaskThread(Task线程类)、Task类。
每个Task类都有Signal()和Run()方法。
每个线程任务TaskThread类都含有一个 OSQueue_Blocking 队列,该队列保存着该类需要去执行的任务。服务器调用一个任务的Signal()函数,实际上是将任务加载到OSQueue_Blocking队列中去的。
TaskThread->Entry() 依靠WaitForTask()来检测是否有新任务,如果有新任务加入,则在规定时间内执行;否则阻塞。
TaskThread->Entry()中 theTimeout = theTask->Run();
theTimeout返回值有以下意义:
< 0 任务结束
= 0 任务在下次被调用时,立即被执行
> 0 任务在等待timeout后,希望立即被执行。意味着该任务是一个周期性的工作,如一视频泵,需要一直发送视频直到视频结束。
DSS系统中,经常将一个Task对象和一个Socket对象关联在一起,当Select()发现Socket对象中有事件过来,就会通过Signal()去通知Task对象,最终调用到TaskThread的Run方法。
0 0
- Task类
- Task类
- Chrome Task类分析
- Chrome Task类分析
- C# Task类 笔记
- android Task类
- Task类使用总结
- TASK
- Task
- Task
- TASK
- task
- Task
- task
- Task,
- task
- Task
- task
- 黑马程序员--ArrayList类
- linux下简单聊天室(未完待更新)
- QA和QC的区别
- 定量/高光谱遥感之——大气校正(一)
- NLP学习笔记1
- Task类
- 定量/高光谱遥感之——大气校正(二)
- HP Officejet 100 Mobile Printer 探索记录
- win10 IIS发布asp.net MVC网站
- nginx 403问题容易忽略的双防火墙问题
- apache外网不能访问分析与解决方法
- 定量/高光谱遥感之——光谱分析技术
- javascript的json对象与字符串之间的转换
- 快速排序算法Java实现