当前位置: 首页>>代码示例>>C++>>正文


C++ Task::call方法代码示例

本文整理汇总了C++中Task::call方法的典型用法代码示例。如果您正苦于以下问题:C++ Task::call方法的具体用法?C++ Task::call怎么用?C++ Task::call使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Task的用法示例。


在下文中一共展示了Task::call方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: main

int main(void)
{
	int MemSize;
	cout<<"请输入内存块大小"<<endl;
	cin>>MemSize;
	Task::setSize(MemSize);							//初始化内存大小
	Task::showMem();
	int choose,t;
	while(cout<<"------------------------------\n"
				<<"\t1:申请作业内存\n"
				<<"\t2:回收作业\n"
				<<"\t0:退出\n请输入: "<<endl,
		cin>>choose)
	{	switch(choose)
		{	case 1:
			{	cout<<"输入作业大小:";
				cin>>t;
				Task* task = new Task(t);
				task->call();						//申请新作业内存
			};break;
			case 2:
			{	cout<<"输入回收作业ID:";
				cin>>t;
				Task::callback(t);					//释放作业
			};break;
			case 0:return 0;
			default:break;
		}/*endof switch*/
		Task::showMem();
	}/*endof while*/
	return 0;
}
开发者ID:halfopen,项目名称:os_exp,代码行数:32,代码来源:main.cpp

示例2: threadFunction

void Scheduler::threadFunction()
{
	while (m_running) {
		int sleepTime = 100;
		m_tasksMutex.lock();
		steady_clock::time_point now = steady_clock::now();
		while(m_tasks.size() > 0) {
			steady_clock::time_point resumeTime = m_tasks.top().getResumeTime();
			if (resumeTime > now) {
				sleepTime = (int32_t)duration_cast<milliseconds>(resumeTime - now).count();
				break;
			}
			Task task = m_tasks.top();
			m_tasks.pop();
			if (m_removeIds.find(task.getId()) == m_removeIds.end()) {
				task.call();
				if (task.isPeriodic()) {
					task.updateTime(now);
					m_tasks.push(task);
				}
			}
			else {
				m_removeIds.erase(task.getId());
			}
		}		
		m_tasksMutex.unlock();
		Sleep(sleepTime);
	}
}
开发者ID:robojan,项目名称:RealPipboyNV,代码行数:29,代码来源:Scheduler.cpp


注:本文中的Task::call方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。