0. 介绍1. 消息队列消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到 MQ 中而不用管谁来取,消息使用者只管从 MQ 中取消息而不管是谁发布的。这样发布者和使用者都不用知道对方的存在。1. 三个角色队列服务端队列生产者队列消费者2. 队列产品RabbitMQ:Erlang编写的消息队列产品,企业级消
     unix早期通信机制中的信号能够传送的信息量有限,管道则只能传送无格式字节流,这远远是不够的。     消息队列(也叫报文队列)客服了这些缺点:     消息队列就是一个消息的链表。     可以把消息看作一个记录,具有特定的格式。    &nbsp
Tornado是一个Python web框架和异步网络库,最初是在FriendFeed开发的。通过使用非阻塞网络I/O, Tornado可以扩展到数以万计的开放连接,非常适合长轮询、WebSockets和其他需要与每个用户进行长时间连接的应用程序。我们知道tornado是一个异步网络库而且是非阻塞网络IO模型,那, 什么是异步,同步, 什么又是阻塞非阻塞呢?(来自知乎上面严肃大牛的解答~)1.同步
  最近老看一些服务器网关的代码页看了一些开源的代码。一个重要的技术线程池。  何为线程池,所谓线程池就是一组用来处理,客户请求的线程组 这里的客户指代的是线程池服务的对象。    线程池的实现原理:    (1)消息队列调用函数,当有消息到来时候,将消息封装插入消息队列。    (2)有一个 线程池附服务线程,该线程负责检索消息队列,创建线程池线程,将该消息派发到线程池的某一线程处理。    (
引言并发是什么?企业在进行产品开发过程中为什么需要考虑这个问题?想象一下天猫的双11和京东的618活动,一秒的点击量就有几十万甚至上百万,这么多请求一下子涌入到服务器,服务器需要对这么多的请求逐个进行消化掉,假如服务器一秒的处理能力就几万,那么剩下的不能及时得到处理的这些请求作何处理?总不能让用户界面一直等着,因此消息队列应运而生,所有的请求都统一放入消息队列,工作线程从消息队列不断的消费,消息
一、定义信号量,邮箱,队列的最大不同在于它们发送的内容不同。1、信号量是一个触发信号,也是一个计数器,等待接收信号的任务一般只有接收到信号才可以执行,否则任务一直暂停。(据我理解,应该是和QT中的信号与槽的机制差不多)2、邮箱是信号量的扩展,相当于把一个指针定义的变量从一个任务传递到另一个或多个任务中去,这个指针是先发到邮箱,然后等待任务从邮箱里提取指针,这也就传递了指针指向的具体变量值。&nbs
1 ENV中配置后不能下载,原因是将pkge --update 写成了pkge --upgrade 2 RTThread中falut定位方法 3将原来工程拷贝后该文件夹名导入时出错“某些项目因为已在工作空间中而不能被导入 “的原因和解决办法:   原因:导致这个错误的原因是工程重名bai了,并不是du仅仅指文件夹重名,关键是修zhi改工程里面“.project"这个文件。用记事本打开,修改工程名字
转载 2020-04-23 10:39:00
637阅读
2评论
大家好本人大三菜鸟一枚,第一次写教程多有不足,敬请原谅。主要是记录一下自己的学习过程tep1:选择新建RT_Thread
转载 2022-04-13 16:25:11
420阅读
前言RT-Thread是一个嵌入式实时多线程操作系统,系统完全开源,它不仅仅是一个实时内核,还具备丰富的中间层组件,包括如文件系统、图形库等较为完整的中间件组件,具备低功耗、安全、通信协议支持和云端连接能力的软件平台。我们可以结合rtthread提供的组件和服务,制作软件包,丰富rt-thread的软件生态。让更多的开发者做到开箱即用,不用重复造轮子。必备知识熟悉rt-thread 了解Kconf
环境window10 虚拟机、secureCRT Intellij IDEARPCRemote Procedure Call。远程过程调用:调用的程序或者函数,并不在本地,而是在远程计算机中。这个时候不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。要利用RabbitMQ来实现RPC功能是很简单的;客户端发送消息,服务端回复响应的消息。为了接收响应的消息,我们需要在请求中发送一个回调队列
转载 2024-07-07 16:18:12
96阅读
一、序言       上一篇,介绍了线程池的基本工作原理,这里会介绍一些里面的一些饱和策略和几个常用的线程池方法的实现原理。 二、源码分析       线程池极力推荐我们用Executors 提供车的各种工厂,来创建我们的线程池,提供了我们常用的几种创建线程池的方式:     &
文章目录1 串口使用的常用场景2 字节帧处理总结 1 串口使用的常用场景使用串口的主要目的是实现数据的交互,数据的交互的方法脱身于常用的场景。这里描述一个比较典型的场景:MCU作为主控制器通过串口和外部的设备或者人进行交互。对于单片机端的设备往往存在一系列的指令。对于控制一个电机而言,他可以具备如下的行为,停止、转动、速度设置、位置设置等等。进而,对于多个微控制器存在的系统而言,各个控制器间也需要
时钟节拍RT_TICK_PER_SECOND:操作系统中最小的时间单位是时钟节拍 (OS Tick)。周期性中断,这个中断可以看做是系统心跳,是系统延时(OS Tick(10ms)的最新倍),超时,时间片轮转调度的基础。中断之间的时间间隔取决于不同的应用,一般是 1ms–100ms,由​​ SysTick​​硬件定时器中断产生。精准延时:用其它硬件定时器或基于os tick的精准硬件阻塞方法如下:
转载 2020-05-01 16:31:00
491阅读
2评论
邮箱与消息队列:邮箱:开销小,效率高(每次4字节,32位任意值或指向缓冲区的指针),相当于MQTT中的代理,函数调用过程中的传地址(指针,浅拷贝)。一(发)对多(收)关系;因为一个邮箱可以有多封邮件,所以接收者可以通过地址(指针==数组名)判断是哪个邮箱发过来的。使用邮箱的前提是保证邮箱接收完成前内容不能改变,或者用邮箱的等待发送(设定超时),否则就用消息队列。   分阻塞(邮箱不存在或超时参数不
转载 2020-05-01 16:00:00
222阅读
2评论
nona版本为精简版本,只保留FISH(选配)最小内核,可以适配STM的STD.HAL/LL库,需要手动进行移植;现在可以在KEIL MDK/CUBEMX中进行集成,也可以RT-Thread Nano 离线安装包下载手动下载源码(安装在 )自己搭建。keil mdk在实时运行环境中打开,通过RT_CONFIG.H进行配置。 中断处理:原3个中断需要注释掉避免重复定义HardFault_Handle
转载 2019-12-04 17:53:00
369阅读
2评论
消息队列 在计算机科学中,消息队列(英语:Message queue)是一种进程间通信或同一进程的不同线程间的通信方式,软件的贮列用来处理一系列的输入,通常是来自使用者。消息队列提供了异步的通信协议,每一个贮列中的纪录包含详细说明的资料,包含发生的时间,输入装置的种类,以及特定的输入参数,也就是说:消息的发送者和接收者不需要同时与消息队列互交。消息会保存在队列中,直到接收者取回它。[1]一个&n
CmBacktrace (Cortex Microcontroller Backtrace)是一款针对 ARM Cortex-M 系列 MCU 的错误代码自动追踪、定位,错误原因自动分析的开源库。支持裸机、ucos  rh-thread,freertos.适配 Cortex-M0/M3/M4/M7 MCU;支持中英文输出。  ulog:与开源easy log很像,可将程序运行过程中的一些状态信息分
转载 2019-12-05 00:33:00
492阅读
2评论
一、相关背景知识邮箱与消息队列常用于任务间的通信,也可用于任务间的同步。一般的邮箱常常保存了任务收发的消息。发消息任务负责将将消息发送至邮箱,收消息则从邮箱取消息消息的内容可为结构化的,也可为非结构化的。邮箱可由操作系统维护,也可由任务自身维护。由操作系统维护即意味着操作系统必须暂存任务发来的消息,增加了操作系统负担;由任务维护意味着由任务自己管理邮箱,任务间发送的消息直接发送至任务的邮箱,只需
RT-Thread零基础快速入门第8讲——软件包的使用 目录RT-Thread零基础快速入门第8讲——软件包的使用前言一、准备一个完整的工程二、打开配置页面三、下载软件包四、编译运行五、总结 前言RT-thread有很多实用的软件包,包含网络、IOT、外设、系统等多个方面,对于项目的快速开发或者评估来说是非常方便的。但不是所有软件包都是友好的,因为有些软件包是第三方贡献的,软件的质量参差不齐,即使
转载 2024-07-30 16:35:29
205阅读
  目前主流的嵌入式GUI开发技术中,RT-Thread/Persimmon、TouchGFX和emWin是最受人瞩目的。     RT-Thread/ Persimmon是国内主导开发的实时线程操作系统RT-Thread中的图形用户界面,是一款面向嵌入式系统的,具备多窗口、多线程的,类似Android界面
转载 11月前
40阅读
  • 1
  • 2
  • 3
  • 4
  • 5