一种单线程模拟多线程的方法技术

技术编号:15746445 阅读:70 留言:0更新日期:2017-07-03 01:46
本发明专利技术涉及一种单线程模拟多线程的方法,包括如下步骤:(1)创建并初始化一个模拟线程池,用以存放模拟线程;(2)创建注册若干模拟线程,并将新模拟线程登记到模拟线程池中;(3)遍历模拟线程池中的所有模拟线程,判断各个模拟线程的执行标识thread.flag:若为true,则执行步骤(4),否则继续判断下一个模拟线程的执行标识;(4)进行该模拟线程的运行策略判断,并按照判断得到的运行策略执行该模拟线程;(5)执行完成后跳转回到步骤(3)直至判断完模拟线程池中的所有模拟线程。本发明专利技术方法可以更好地利用MCU资源和性能,优化程序处理逻辑。

Method for simulating multithreading with single thread

The invention relates to a method for single thread simulation of multi thread, which comprises the following steps: (1) to create and initialize a simulated thread pool to store the simulation thread; (2) create a registration number of analogue threads, and the new simulation threads in the thread pool to simulate the registration; (3) all calendar simulation threads simulation in the thread pool, whether each simulation execution of the thread identifier thread.flag: if true, step (4), or to determine the next simulation execution of the thread identifier; (4) determine the operation strategy is the simulation of the thread, and in accordance with the implementation of the operation strategy according to the simulation thread (5; after the completion of execution) jump back to step (3) until the judge all simulation threads in the thread pool simulation. The method of the invention can make better use of MCU resources and performance and optimize program processing logic.

【技术实现步骤摘要】
一种单线程模拟多线程的方法
本专利技术涉及多任务多线程功能实现
,尤其涉及一种单线程模拟多线程的方法。
技术介绍
物联网采集控制系统早已渗透到诸如工业生产、智能家居、宇宙开发、海洋探测、环境保护、资源调查、医学诊断、生物工程、甚至文物保护等等极其之泛的领域。数据采集和终端控制器在整个系统中也占据举足轻重的位置。终端控制和采集系统是万物互联中和人与物交流的关键一环,它需要执行人的思想,和反馈物体的当前状态。终端设备往往数量众多分布也广泛,对于成本的要求也苛刻,所以终端控制和采集设备在执行单元上往往选择资源比较有限的单片机芯片,这也就和控制器需要执行的多重复杂的任务形成矛盾。在有的项目中,单片机系统可能需要处理比较复杂的逻辑和任务,由于资源限制,无法安装操作系统,程序逻辑往往过于臃肿复杂,且软件的实时性能大大降低。
技术实现思路
本专利技术为克服上述的不足之处,目的在于提供一种单线程模拟多线程的方法,本方法可以更好地利用MCU资源和性能,优化程序处理逻辑。本专利技术是通过以下技术方案达到上述目的:一种单线程模拟多线程的方法,包括如下步骤:(1)创建并初始化一个模拟线程池,用以存放模拟线本文档来自技高网...
一种单线程模拟多线程的方法

【技术保护点】
一种单线程模拟多线程的方法,其特征在于,包括如下步骤:(1)创建并初始化一个模拟线程池,用以存放模拟线程;(2)创建注册若干模拟线程,并将新模拟线程登记到模拟线程池中;(3)遍历模拟线程池中的所有模拟线程,判断各个模拟线程的执行标识thread.flag:若为true,则执行步骤(4),否则继续判断下一个模拟线程的执行标识;(4)进行该模拟线程的运行策略判断,并按照判断得到的运行策略执行该模拟线程;(5)执行完成后跳转回到步骤(3)直至判断完模拟线程池中的所有模拟线程。

【技术特征摘要】
1.一种单线程模拟多线程的方法,其特征在于,包括如下步骤:(1)创建并初始化一个模拟线程池,用以存放模拟线程;(2)创建注册若干模拟线程,并将新模拟线程登记到模拟线程池中;(3)遍历模拟线程池中的所有模拟线程,判断各个模拟线程的执行标识thread.flag:若为true,则执行步骤(4),否则继续判断下一个模拟线程的执行标识;(4)进行该模拟线程的运行策略判断,并按照判断得到的运行策略执行该模拟线程;(5)执行完成后跳转回到步骤(3)直至判断完模拟线程池中的所有模拟线程。2.根据权利要求1所述的一种单线程模拟多线程的方法,其特征在于:所述模拟线程池的大小根据MCU资源大小自定义。3.根据权利要求1所述的一种单线程模拟多线程的方法,其特征在于:所述模拟线程登记到模拟线程池中需登记如下属性:(i)pThread.con:线程执行模式;(ii)pThread.cnt:线程执行次数;(iii)pThread.freq:线程执行周期;(iv)pThread.fun:回调函数;(v)pThread.flag:可调用标识。4.根据权利要求1所述的一种单线程模...

【专利技术属性】
技术研发人员:戴新华耿明卢晓飞张元元蔡荣
申请(专利权)人:杭州天宽科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1