[发明专利]一种基于POS机的多线程同步方法及POS机有效
申请号: | 201811572525.7 | 申请日: | 2018-12-21 |
公开(公告)号: | CN109783142B | 公开(公告)日: | 2021-02-12 |
发明(设计)人: | 许世杰 | 申请(专利权)人: | 福建新大陆支付技术有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/52;G06F3/12 |
代理公司: | 厦门原创专利事务所(普通合伙) 35101 | 代理人: | 徐东峰 |
地址: | 350015 福建省福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 pos 多线程 同步 方法 | ||
1.一种基于POS机的多线程同步方法,其特征在于,包括:
POS机将矢量字体的处理和打印过程分解成矢量字体处理线程和打印线程共两个相互独立的线程;
同步所述矢量字体处理线程和所述打印线程;其中,所述矢量字体处理线程和所述打印线程之间通过互斥锁、条件变量、全局标志位同步,通过循环队列共享打印数据,所述循环队列中的每个元素包含待打印的位图数据、打印宽度、打印高度和打印偏移信息;
在所述矢量字体处理线程处理完矢量字体数据后,控制所述矢量字体处理线程将打印数据放置到打印队列;
控制打印线程打印所述打印队列的信息;
所述POS机同步所述矢量字体处理线程,包括:
POS机控制所述矢量字体处理线程往打印队列中放入打印数据时,尝试获取互斥锁,若无法获取互斥锁,则阻塞该矢量字体处理线程,此时所述打印线程占用互斥锁,直到所述打印线程主动释放互斥锁,唤醒所述矢量字体处理线程;
POS机控制所述矢量字体处理线程判断打印队列是否已满,若打印队列未满,则往打印队列尾中存入打印数据;
POS机控制所述矢量字体处理线程判断当前打印队列是否仅有一个元素,包括:
POS机控制所述矢量字体处理线程判断当前打印队列是否仅有一个元素,若判断出当前打印队列不是仅有一个元素,则接着判断打印数据是否已经处理完毕,若判断出打印数据已经处理完毕,则设置全局标志位,通知所述打印线程在打印工作结束后退出,同时释放互斥锁;
POS机控制所述矢量字体处理线程判断当前打印队列是否仅有一个元素,若判断出当前打印队列仅有一个元素,则通过打印队列可读条件变量将所述打印线程唤醒,接着判断打印数据是否已经处理完毕,若判断出打印数据已经处理完毕,则设置全局标志位,通知所述打印线程在打印工作结束后退出,同时释放互斥锁。
2.如权利要求1所述的基于POS机的多线程同步方法,其特征在于,所述POS机同步所述矢量字体处理线程和所述打印线程,包括:
POS机采用互斥锁和条件变量以及全局标志位方式同步所述矢量字体处理线程和所述打印线程。
3.如权利要求1所述的基于POS机的多线程同步方法,其特征在于,所述POS机同步所述打印线程,包括:
POS机控制所述打印线程从所述打印队列中获取打印数据,尝试获取互斥锁,若无法获取互斥锁,则阻塞该打印线程,此时所述矢量字体处理线程占用互斥锁,直到所述矢量字体处理线程主动释放互斥锁,唤醒所述打印线程;
POS机控制所述打印线程判断所述打印队列是否为空,包括:
POS机控制所述打印线程判断所述打印队列是否为空,若判断出所述打印队列不为空时,则所述打印线程从所述打印队列头取出打印数据并执行打印操作,所述打印线程接着判断当前打印队列是否仅剩一个空位,若判断出当前打印队列仅剩一个空位,则所述打印线程通过打印队列可写条件变量唤醒所述矢量字体处理线程,所述打印线程接着根据全局标志位的状态判断打印数据是否处理完成,根据所述全局标志位的状态来决定是否退出打印线程,在判断出打印数据是否处理完成的全局标志位的状态是处理完成时,所述打印线程在打印工作结束后退出,同时释放互斥锁;
POS机控制所述打印线程判断所述打印队列是否为空,若判断出所述打印队列为空时,则阻塞该打印线程,通过打印队列可读条件变量等待所述矢量字体处理线程唤醒,直到所述矢量字体处理线程被唤醒并释放互斥锁,则所述打印线程从所述打印队列头取出打印数据并执行打印操作,所述打印线程接着判断当前打印队列是否仅剩一个空位,若判断出当前打印队列仅剩一个空位,则所述打印线程通过打印队列可写条件变量唤醒所述矢量字体处理线程,所述打印线程接着根据全局标志位的状态判断打印数据是否处理完成,根据所述全局标志位的状态来决定是否退出打印线程,在判断出打印数据是否处理完成的全局标志位的状态是处理完成时,所述打印线程在打印工作结束后退出,同时释放互斥锁。
4.如权利要求3所述的基于POS机的多线程同步方法,其特征在于,在所述POS机打印所述打印队列的信息之后,还包括:
POS机备份所述打印队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建新大陆支付技术有限公司,未经福建新大陆支付技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811572525.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:异构调度方法
- 下一篇:用于流水线指令流的控制方法和控制设备