一种Linux系统下的线程通信方法
2017-11-01王天伟
计算机应用与软件 2017年10期
关键词:定义
王 天 伟
(天津通博视源技术有限公司 天津 300000)
一种Linux系统下的线程通信方法
王 天 伟
(天津通博视源技术有限公司 天津 300000)
提出一种结合数据和资源管理的线程通信方法,从数据结构上对消息进行定义和描述,并在此基础上设计和实现具备消息供给/回收策略的消息工厂。每个消息的内部会维护一个栈式数据结构,用于存放需要传递给其他线程的数据;然后基于POSIX消息队列实现用于传递消息的邮箱。发送线程从消息工厂取出一条消息并通过对数据栈进行压栈操作将待发送数据提交给消息,然后将消息邮递到邮箱里,接收线程从邮箱中取出消息并将数据依次从消息的数据栈中弹出,并在数据处理完成后将消息返还给消息工厂。
多线程通信 消息工厂 邮箱
0 引 言
在嵌入式应用领域,越来越多的系统设计方案采用了基于操作系统的软件架构,将诸如任务调度、硬件资源管理、图形界面等方面的功能交由操作系统管理。而应用软件设计本身只需关注与系统数据流相关的业务逻辑和资源调度即可。Linux系统是一个开源的操作系统,底层驱动越来越完善,在各个行业也都有比较成熟的开源软件库,因而基于Linux系统的开发具有软件开发资源丰富、系统成本低、可定制程度高等特点。多线程常常是软件设计中不可回避的问题,线程任务规划、线程之间的同步和数据交互方式往往是实现过程中的一个难点,尤其会对后期的调试和维护带来重大的影响。……
登录APP查看全文
