也许是先入为主的原因,时钟用不惯Keil环境,大多数的教程都是拿keil写的,尝试将官方的uc/os iii 移植到IAR环境. 1.首先尝试从官网上下载的官方移植的代码,编译通过,但是执行会报堆栈溢出警告(为何keil没有报堆栈溢出??),网上有人说不用理会,但是实际使用时发生了错误(定义的常量数组值被改变,怀疑是堆栈溢出导致),发现使用的IAR版本不能完美支持使用的STM32芯片,换用高版本测试..(高版本正确,与低版本对芯片的支持有关) 2.开始时虽然会堆栈溢出,但是能够进入异常中断,进入…
目录 RabbitMQ实现延时消息的两种方法 1.死信队列 1.1消息什么时候变为死信(dead-letter) 1.2死信队列的原理 1.3 代码实现 1.4死信队列的一个小坑 2 .延时插件 2.1如何实现 RabbitMQ实现延时消息的两种方法 1.死信队列 1.1消息什么时候变为死信(dead-letter) 消息被否定接收,消费者使用basic.reject 或者 basic.nack并且requeue 重回队列属性设为false. 消息在队列里得时间超过了该消息设置的过期时间(TTL…
Linux 服务管理两种方式service和systemctl 1.service命令 service命令其实是去/etc/init.d目录下,去执行相关程序 # service命令启动redis脚本 service redis start # 直接启动redis脚本 /etc/init.d/redis start # 开机自启动 update-rc.d redis defaults 其中脚本需要我们自己编写 2.systemctl命令 systemd是Linux系统最新的初始化系统(init)…
前段时间学习EJB.接触到了JMS(Java消息服务),JMS支持两种消息模型:Point-to-Point(P2P)和Publish/Subscribe(Pub/Sub),即点对点和公布订阅模型. 个人认为这两个模型挺easy理解的,由于生活中的样例还挺多的. 1,  P2P模型 有下面概念:消息队列(Queue).发送者(Sender).接收者(Receiver).每一个消息都被发送到一个特定的队列,接收者从队列获取消息.队列保留着消息,直到它们被消费或超时. (1) 每一个消息仅仅有一个消…
1.使用消息队列 消息队列函数: 函数名 功能 OSQCreate() 创建一个消息队列 OSQDel() 删除一个消息队列 OSQFlush() 清空一个消息队列 OSQPend() 任务等待消息 OSQPendAbort() 任务被不再等待该消息 OSQPost() 提交一个消息给消息队列 任务中消息队列函数: 函数名 功能 OSTaskQPend() 等待一个消息 OSTaskQPendAbort() 任务被不再等待该消息 OSTaskQPost() 发送一个消息给任务 OSTaskQFl…
1.任务的消息队列 uC/OS-III在任务中内建了一个消息队列.用户可以直接发送消息给任务而不通过外部消息队列. 这个特性不仅简化了代码, 还提供了效率.每个任务都内建一个消息队列. uC/OS-III中与任务消息队列相关的服务都是以OSTask???()开头的. 设置OS_CFG.H中的OS_CFG_TASK_EN使能任务的消息队列服务. 与任务消息队列相关的代码在OS_TASK.C中. 2.双向通信 两个任务可以通过两个消息队列同步,这叫做双向通信, 这两个任务间可能互相发送消息给对方.…
任务消息队列跟任务信号量一样,均隶属于某一个特定任务, 不需单独创建,任务在则在, 只有该任务才可以接收这个任务消息队列的消息,其他任务只能给这个任务消息队列发送消息, 却不能接收.任务消息队列与(普通)消息队列极其相似,只是任务消息队列已隶属于一个特定任务, 所以它不具有等待列表, 省去了等待任务插入和移除列表的动作,所以工作原理相对更简单一点, 效率也比较高一些. 1.原理 如果想要使用任务消息队列,就必须事先使能任务消息队列.消息队列的使能位于“os_cfg.h”. 特别声明,任务消息队列…
前言 前前一篇留了个小问题,在上一篇中忘了写了,就是关于LayIM已经封装好的上传文件或者图片的问题.对接好接口之后,如果上传速度慢,界面就会出现假死情况,虽然文件正在上传.于是我就简单做了个图标替代来增强用户体验. 上传中... 上传完成后 是不是很简单啊,接下来进入正题. 业务介绍 LayIM中的加好友可以说是不太必要的逻辑,而且其实大部分在模仿QQ,当然业务复杂度肯定没法和QQ比.主线,就是用户A请求添加用户B为好友,用户B收到消息提示之后点击同意或者拒绝或者直接忽略,然后在将消息反馈到用…
源码分析的spark版本是1.6. 首先,先看一下 org.apache.spark.streaming.dstream.InputDStream 的 类说明: This is the abstract base class for all input streams. This class provides methods start() and stop() which is called by Spark Streaming system to start and stop receivi…
刚好最近同事问我activemq的问题刚接触所以分不清,前段时间刚好项目中有用到,所以稍微整理了一下,仅用于使用 1.下载ActiveMQ 地址:http://activemq.apache.org/download.html 2.启动ActiceMQ windows版本直接双击启动bin/win64/activemq.bat linux版本也是下载解压在bin/linux-x86-64或者linux-x86-32下 cd apache-activemq-5.14.1/bin/linux-x86…