您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ AddTask函数代码示例

51自学网 2021-06-01 19:45:36
  C++
这篇教程C++ AddTask函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中AddTask函数的典型用法代码示例。如果您正苦于以下问题:C++ AddTask函数的具体用法?C++ AddTask怎么用?C++ AddTask使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

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

示例1: CFindPathTask

CBotTF2HealSched::CBotTF2HealSched(edict_t *pHeal){	CFindPathTask *findpath = new CFindPathTask(pHeal);	findpath->SetCompleteInterrupt(CONDITION_SEE_HEAL);	AddTask(findpath);	AddTask(new CBotTF2MedicHeal());}
开发者ID:Deathreus,项目名称:AFKBot,代码行数:7,


示例2: AddTask

///Adds a NEW task to the queue.  Creates a queue if the tracks associated with the task is not in the list//////@param task the task to add///@param lockMutex locks the mutexes if true (default).  This function is used within other ODManager calls, which many need to set this to false.void ODManager::AddNewTask(movable_ptr<ODTask> &&mtask, bool lockMutex){   auto task = mtask.get();   ODWaveTrackTaskQueue* queue = NULL;   if(lockMutex)      mQueuesMutex.Lock();   for(unsigned int i=0;i<mQueues.size();i++)   {      //search for a task containing the lead track.  wavetrack removal is threadsafe and bound to the mQueuesMutex      //note that GetWaveTrack is not threadsafe, but we are assuming task is not running on a different thread yet.      if(mQueues[i]->ContainsWaveTrack(task->GetWaveTrack(0)))         queue = mQueues[i].get();   }   if(queue)   {      //Add it to the existing queue but keep the lock since this reference can be deleted.      queue->AddTask(std::move(mtask));      if(lockMutex)         mQueuesMutex.Unlock();   }   else   {      //Make a NEW one, add it to the local track queue, and to the immediate running task list,      //since this task is definitely at the head      auto newqueue = make_movable<ODWaveTrackTaskQueue>();      newqueue->AddTask(std::move(mtask));      mQueues.push_back(std::move(newqueue));      if(lockMutex)         mQueuesMutex.Unlock();      AddTask(task);   }}
开发者ID:henricj,项目名称:audacity,代码行数:39,


示例3: DispatchTask

void DispatchTask (void){    uint8_t n=0;    if (flags.RunFlag==1){                     // если таймер выставил флаг        task tmp;                       // переменная для хранения нулевого элемента        tmp=TaskArray[0];    while (((TaskArray[n].pfunc != 0) || (TaskArray[n].countdown!=0)) && (n < MAXnTASKS)){        n++; //мотаем пока счетчик не дойдет до задачи с нужной задержкой        TaskArray[n-1]=TaskArray[n];        //сдвигаем очередь вперед        if (TaskArray[n-1].countdown) TaskArray[n-1].countdown-=dt;     //вычитаем прошедшее время из каждой задачи   }    DeleteTask(n);      //удаляем последнюю задачу    switch (tmp.numRun){            case 0: if (*tmp.nextfunc!=Idle) AddTask(*tmp.nextfunc,Idle,tmp.nextdelay,0,tmp.numRun);break;            case 0xffff: AddTask(*tmp.pfunc,*tmp.nextfunc,tmp.delay,tmp.nextdelay,tmp.numRun);break;            default: if (tmp.numRun&&tmp.numRun!=0xffff) AddTask(*tmp.pfunc,*tmp.nextfunc,tmp.delay,tmp.nextdelay,--tmp.numRun);break;    }    if (TaskArray[0].countdown!=0) {delay_time=TaskArray[0].countdown;} // если здесь +1 , то немного работает ))))    else {delay_time=1;} //можно флаг запуска добавить сюда , но в очереди будет нечего убавлять и ф-ию зациклит    dt=delay_time;      //или воткнуть туда значение уменьшения , только его нужно брать для точности    (*tmp.pfunc)();    flags.RunFlag=0;       //из расчета кол-ва тиков выполняемой функции и частоты прерывания таймера   }}
开发者ID:4glk,项目名称:at8_ct,代码行数:25,


示例4: Vector

CBotFollowLastEnemy::CBotFollowLastEnemy(CBot *pBot, edict_t *pEnemy, Vector vLastSee){	Vector vVelocity = Vector(0, 0, 0);	CClient *pClient = CClients::Get(pEnemy);	CFindPathTask *pFindPath = new CFindPathTask(vLastSee, LOOK_LAST_ENEMY);	if (CClassInterface::GetVelocity(pEnemy, &vVelocity))	{		if (pClient && (vVelocity == Vector(0, 0, 0)))			vVelocity = pClient->GetVelocity();	}	else if (pClient)		vVelocity = pClient->GetVelocity();	pFindPath->SetCompleteInterrupt(CONDITION_SEE_CUR_ENEMY);	AddTask(pFindPath);	/*if ( pBot->isTF2() )	{	int playerclass = ((CBotTF2*)pBot)->getClass();	if ( ( playerclass == TF_CLASS_SOLDIER ) || (playerclass == TF_CLASS_DEMOMAN) )	AddTask(new CBotTF2ShootLastEnemyPosition(vLastSee,pEnemy,vVelocity));	}*/	AddTask(new CFindLastEnemy(vLastSee, vVelocity));	//////////////	pFindPath->SetNoInterruptions();}
开发者ID:Deathreus,项目名称:AFKBot,代码行数:32,


示例5: AddTask

CBotTF2GetFlagSched::CBotTF2GetFlagSched(Vector vOrigin, bool bUseRoute, Vector vRoute){	if (bUseRoute)		AddTask(new CFindPathTask(vRoute));	AddTask(new CFindPathTask(vOrigin)); // first	AddTask(new CBotTF2WaitFlagTask(vOrigin)); // second}
开发者ID:Deathreus,项目名称:AFKBot,代码行数:8,


示例6: DS18B20InitializeSensorTask

void DS18B20InitializeSensorTask() {    DS18B20InitializeSensorAction();    if (DS18B20ResultInitializeSensor == DS18B20OperationOK) {        AddTask(DS18B20ConvertTemperatureTask, DS18B20ConvertTemperatureTaskDelay);    }    else {        AddTask(DS18B20InitializeSensorTask, DS18B20RepeatInitializeSensorTaskDelay);    }}
开发者ID:Wierus,项目名称:WaterThermostat,代码行数:9,


示例7: main

int main(void){		init_scheduler();		AddTask(0,50, keypak, NULL);		AddTask(1, 20, keypak1, NULL);		AddTask(7, 500, NULL, NULL);		init_timer_irq();		execute();}
开发者ID:Yurrili,项目名称:US,代码行数:9,


示例8: main

void main(void) {		Init_Device();		#if WITH_TASKER		InitTasker();		led_task = AddTask(&LedToggle,1000,INFINITE_TASK);		#endif		#if WITH_BINDER		InitBinder();		#endif		P0 &= (~0x80);		#if WITH_COMM_LINK		StartCommLinkCommunication(0x26);		#endif		#if WITH_Z_UNO_CHANNEL_DEBUG		{			BYTE result = setupUserChannels();		}		#endif						#if WITH_LCD		LCD_Init_VIM878();		#endif		#if WITH_BUTTONS		ButtonsInit();		AddTask(ButtonsPoll, 10, INFINITE_TASK);		#endif		while(TRUE) {			#if WITH_Z_UNO_CODE			ApplicationPoll();			#endif			#if WITH_UART0			CheckUART();			#endif			#if WITH_SODA_UART			checkSodaUart();			#endif			#if WITH_BUTTONS			ParseButtonEvents();			ClearButtonEvents();			#endif			#if WITH_TASKER			if (tasker_flag == TRUE) {				tasker_flag = FALSE;				Tasker();			}			#endif			#if WITH_BINDER			EventBinder();			#endif			#if WITH_GENERAL_TESTING_FILE			generalTestingRoutine();			#endif		}}
开发者ID:NilsBohr,项目名称:MCU_Testing_Kit,代码行数:57,


示例9: AngleVectors

CBotBackstabSched::CBotBackstabSched(edict_t *pEnemy){	Vector vrear;	Vector vangles;	AngleVectors(CBotGlobals::EntityEyeAngles(pEnemy), &vangles);	vrear = CBotGlobals::EntityOrigin(pEnemy) - (vangles * 45) + Vector(0, 0, 32);	AddTask(new CFindPathTask(vrear));	AddTask(new CBotBackstab(pEnemy));}
开发者ID:Deathreus,项目名称:AFKBot,代码行数:11,


示例10: main

int main(void){	DDRA = 0xFF;	//PORTA = 0b11111111; // AtMega 16	PORTA = 0b00000000;		AddTask(Set0, 1, 0);	AddTask(Set1, 2, 1);	AddTask(Set2, 3, 2);	AddTask(Set3, 4, 3);	    schedule();}
开发者ID:nicglu,项目名称:Uklady_sterujace,代码行数:13,


示例11: main

int main(void){	// Timer 0 w trybie OCR	TIMSK |= (1 << OCIE0); // COMP overflow	OCR0  = 250; // 250 * 64 = 16MHz = 1000 przerwa
C++ AddText函数代码示例
C++ AddTail函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。