»¥¶¯»¯
»¥¶¯ÐÔÊÇÌáÉýÓû§ÌåÑéµÄÖ÷ÒªÊֶΡ£Î´À´£¬¸ßÇå×ÊÔ´½«»áÔ½·¢»¥¶¯»¯¡£ÀýÈ磬ͨ¹ýÔöÇ¿ÏÖʵ£¨AR£©ºÍÐéÄâÏÖʵ£¨VR£©ÊÖÒÕ£¬ÎÒÃÇ¿ÉÒÔΪÓû§ÌṩԽ·¢ÌÕ×íʽµÄÌåÑ飻ͨ¹ý»¥¶¯Ê½Ñ§Ï°ÄÚÈÝ£¬ÎÒÃÇ¿ÉÒÔÔöÇ¿Óû§µÄ¼ÓÈë¸ÐºÍѧϰЧ¹û¡£
¡°Ò»Æð²Ý¡±¸ßÇå×ÊÔ´µÄ¿´·¨ËäÈ»¼òÆÓ£¬µ«Æä±³ºóÔ̺¬µÄ¸»ºñÄÚÔÚºÍÆÕ±éÓ¦ÓÃÔ¶¾°£¬Ê¹ÆäÔÚµ±½ñÊý×Ö»¯×ªÐ͵ÄÀ˳±ÖоßÓÐÖ÷ÒªµÄÏÖʵÒâÒ塣ͨ¹ýÃ÷È·ºÍÕÆÎÕÕâÒ»¿´·¨£¬ÎÒÃÇ¿ÉÒÔ¸üºÃµØ¼ÓÈëºÍÍÆ¶¯Êý×Ö»¯×ªÐÍ£¬ÎªÉç»áºÍСÎÒ˽¼ÒµÄÉú³¤Ð¢Ë³Á¦Á¿¡£
Ï£Íû±¾ÎÄÄܹ»×ÊÖúÄú¸üºÃµØÃ÷È·¡°Ò»Æð²Ý?¡±¸ßÇå×ÊÔ´µÄ½¹µã¼ÄÒåÓëÒªº¦µã¡£ÈôÊÇÄúÓÐÈκÎÒÉÎÊ»òÐèÒª½øÒ»²½µÄÐÅÏ¢£¬½Ó´ýÔÚ̸ÂÛÇøÁôÑÔ»òÁªÏµ¶¶È¦Îª¶Ä¶øÉú×ðÁú¡£ÈÃÎÒÃÇÒ»Æð̽ÌÖºÍÁ¢Ò죬ÅäºÏÍÆ¶¯Êý×Ö»¯Ê±´úµÄÉú³¤¡£
ÊÖÒÕÖ§³Ö£º¸ßÇå×ÊÔ´µÄ±³ºó
¸ßÇå×ÊÔ´µÄ½âËø£¬Àë²»¿ªÏȽøµÄÊÖÒÕÖ§³Ö¡£ÔÚ¡°Ò»Æð²Ý¡±Æ½Ì¨ÉÏ£¬ÎÒÃǽÓÄÉÁË×îÏȽøµÄÊÓÆµºÍÒôƵѹËõÊÖÒÕ£¬È·±£Ã¿Ò»¸ö×ÊÔ´¶¼ÄÜÔÚ×î¼ÑÖÊÁ¿Ï´«Êä¡£ÎÒÃǵķþÎñÆ÷ºÍÍøÂç»ù´¡ÉèʩҲÊÇÒ»Á÷µÄ£¬È·±£ÄúÔÚÈκÎʱ¼ä¶¼ÄÜ˳³©»á¼û¸ßÇå×ÊÔ´¡£
ÊÖÒÕµÄǰ½ø£¬ÈøßÇå×ÊÔ´µÄ½âËø±äµÃÔ½·¢±ã½ÝºÍ¸ßЧ¡£ÎÞÂÛÊÇÁ÷ýÌåԢĿ£¬ÕÕ¾ÉÏÂÔØÀëÏßԢĿ£¬¡°Ò»Æð²Ý¡±¶¼ÄÜÌṩ×î¼ÑµÄÓû§ÌåÑé¡£ÎÒÃÇÖÂÁ¦ÓÚΪÓû§Ìṩ×îÓÅÖʵÄÊÖÒÕÖ§³Ö£¬ÈÃÄúÔÚÏíÊܸßÇå×ÊÔ´µÄÒ²ÄܸÐÊܵ½ÊÖÒÕµÄǰ½ø´øÀ´µÄ±ã½ÝºÍ¸ßЧ¡£
´úÂëʵÏÖ£º
importtimeimportthreadingfromcollectionsimportdequeclassTaskScheduler:def__init__(self):self.tasks=deque()self.task_lock=threading.Lock()self.running=Falseself.task_thread=Nonedefadd_task(self,task_name,interval):withself.task_lock:self.tasks.append((task_name,interval))defremove_task(self,task_name):withself.task_lock:self.tasks=deque((task,interval)fortask,intervalinself.tasksiftask!=task_name)deflist_tasks(self):withself.task_lock:return(task,interval)fortask,intervalinself.tasksdefexecute_task(self):whileself.running:withself.task_lock:current_time=time.time()#Checkifanytaskneedstobeexecutednext_task=Nonefortask,intervalinself.tasks:next_execution_time=current_time+intervalifnext_taskisNoneornext_execution_time0:time.sleep(sleep_time)print(f"Executingtask:{task}at{time.ctime()}")defstart(self):ifnotself.running:self.running=Trueself.task_thread=threading.Thread(target=self.execute_task)self.task_thread.start()defstop(self):self.running=Falseifself.task_threadandself.task_thread.is_alive():self.task_thread.join()#ʾÀýʹÓÃif__name__=="__main__":scheduler=TaskScheduler()scheduler.add_task("Task1",10)#ÿ10ÃëÖ´ÐÐÒ»´ÎTask1scheduler.add_task("Task2",5)#ÿ5ÃëÖ´ÐÐÒ»´ÎTask2print(scheduler.list_tasks())#Êä³öÄ¿½ñËùÓеÄʹÃüÁбíscheduler.remove_task("Task2")print(scheduler.list_tasks())#Êä³öÄ¿½ñËùÓеÄʹÃüÁбíscheduler.start()time.sleep(60)#ÈÃʹÃüÔËÐÐÒ»¶Îʱ¼äscheduler.stop()
Êý×Ö»¯×ªÐÍµÄÆ«Ïò
ÔÚÏß½ÌÓý£º¸ßÇå×ÊÔ´ºÍÕûÌåºÏ×÷´´×÷ÊÇÔÚÏß½ÌÓýƽ̨µÄ½¹µã¡£Í¨¹ý¸ßÇåÊÓÆµ¡¢¸ßÇåͼƬ¡¢»¥¶¯Ê½Ñ§Ï°ÄÚÈݵȣ¬ÎÒÃÇÄܹ»ÎªÑ§ÉúÌṩԽ±¬·¢¶¯¡¢Ö±¹ÛµÄѧϰÌåÑé¡£Ô¶³Ì°ì¹«£ºÔÚÊý×Ö»¯×ªÐ͵ÄÀú³ÌÖУ¬Ô¶³Ì?°ì¹«¹¤¾ßµÄÉú³¤Àë²»¿ª¸ßÇå×ÊÔ´ºÍÕûÌåºÏ×÷´´×÷¡£¸ßÇå¾Û»á¼Í¼¡¢¸ßÇåÐ×÷ÎĵµµÈ£¬¶¼ÊÇÔ¶³Ì°ì¹«µÄÖ÷Òª×é³É²¿?·Ö¡£
ÖÇÄÜÒ½ÁÆ£º¸ßÇå×ÊÔ´ÔÚÖÇÄÜÒ½ÁÆÖÐҲʩչ×ÅÖ÷Òª×÷Ó᣸ßÇåÒ½ÁÆÍ¼Ïñ¡¢¸ßÇåÊÖÊõÊÓÆµµÈ£¬Äܹ»ÎªÒ½ÁÆ×¨ÒµÈËÊ¿ÌṩԽ·¢ÏêʵµÄÐÅÏ¢£¬ÌáÉýÒ½ÁÆ·þÎñµÄÖÊÁ¿¡£
Ó°Ï·µÄÊÓ¾õÊ¢Ñç
Ó°Ï·×÷ΪÊÓ¾õÒÕÊõµÄ?áÛ·åÖ®×÷£¬Æä»ÃæºÍÒôЧµÄÖÊÁ¿Ö±½ÓÓ°Ïì׏ÛÖڵĹÛÓ°ÌåÑé¡£ÔÚ¡°Ò»Æð²Ý¡±Æ½Ì¨ÉÏ£¬ÎÒÃǾ«Ñ¡ÁËÖÖÖÖÀàÐ͵ÄÓ°Ï·£¬´Ó¾µäÀÏÆ¬µ½×îÐÂÉÏÓ³µÄ´óƬ£¬Ó¦Óо¡ÓС£Ã¿Ò»²¿Ó°Ï·¶¼¾ÓɸßÖÊÁ¿µÄÊÓÆµºÍÒôƵ´¦Öóͷ££¬È·±£ÄúÔÚ¼ÒÖÐÒ²ÄÜÏíÊܵ½Ó°Ôº¼¶µÄ?¹ÛÓ°ÌåÑé¡£
¸ßÇåÓ°Ï·×ÊÔ´µÄ½âËø£¬ÈÃÄú¿ÉÒÔÔÚÈκÎʱ¼ä£¬ÈκεØ?µã£¬ÏíÊܵ½?×î¶¥¼¶µÄÊÓÌýÌåÑé¡£ÎÞÂÛÊǵ¥¶ÀÒ»È˾²Ïí¸ßÇåÓ°Ï·£¬ÕÕ¾ÉÓëÅóÙÅäºÏԢĿ¸ßÇåµçÊӾ磬¸ßÇå×ÊÔ´¶¼ÄÜ´ø¸øÄúÎÞÓëÂױȵĸйÙÏíÊÜ¡£ÌØÊâÊǹØÓÚÄÇЩϲ»¶Ì½Ë÷ÊÓ¾õϸ½ÚµÄ¹ÛÖÚ£¬¸ßÇå×ÊÔ´µÄ½âËøÎÞÒÉÊÇÒ»³¡ÊÓ¾õÊ¢Ñç¡£
¸ßÇå×ÊÔ´µÄÓÅÊÆ
ÌáÉýÓû§ÌåÑ飺¸ßÇå×ÊÔ´Äܹ»ÌṩԽ·¢ÇåÎú¡¢¸ü¾ßÎüÒýÁ¦µÄÄÚÈÝ£¬Õâ¹ØÓÚÊÓ¾õ·ºÆðÓÈΪÖ÷Òª¡£ÀýÈ磬¸ßÇåͼƬ¡¢ÊÓÆµ¡¢¶¯»µÈ¶¼ÄÜÈÃÓû§¸ÐÊܵ½Ô½·¢Ö±¹ÛµÄÐÅϢת´ï¡£ÔöÇ¿ÐÅϢת´ï£º¸ßÇå×ÊÔ´Äܹ»¸üºÃµØ×ª´ïÖØ´óµÄÐÅÏ¢£¬ÎÞÂÛÊÇÔÚ½ÌÓý¡¢¿ÆÑÐÕÕ¾ÉÉÌÒµÁìÓò£¬¸ßÇå×ÊÔ´¶¼Äܹ»×ÊÖúÎÒÃÇÔ½·¢¾«×¼µØ×ª´ïÐÅÏ¢¡£
ÌáÉý»¥¶¯ÐÔ£º¸ßÇå×ÊÔ´ÔÚ»¥¶¯ÐÔ·½ÃæÓÐÏÔÖøÌáÉý£¬Õâ¹ØÓÚÔÚÏßѧϰºÍ½ÌÓýƽ̨ÓÈΪÖ÷Òª¡£¸ßÖÊÁ¿µÄ»¥¶¯ÄÚÈÝÄܹ»¸üºÃµØÎüÒýÓû§µÄ×¢ÖØÁ¦£¬Ìá¸ß¼ÓÈë¶È¡£
У¶Ô£º¶Ù»(6cEOas9M38Kzgk9u8uBurka8zPFcs4sd)



