RocketMQ是一款分布式、队列模型的消息中间件,具有以下特点: 1.能够保证严格的消息顺序 2.提供丰富的消息拉取模式 3.高效的订阅者水平扩展能力 4.实时的消息订阅机制 5.亿级消息堆积能力 一.RocketMQ网络部署特点 (1)NameServer是一个几乎无状态的节点,可集群部署,节点 ...
分类:
其他好文 时间:
2020-06-17 12:43:25
阅读次数:
48
一.java内存模型 1.线程通信机制 1.共享内存 共享内存这种方式比较常见,我们经常会设置一个共享变量。然后多个线程去操作同一个共享变量。从而达到线程通讯的目的。例如,我们使用多个线程去执行页面抓取任务,我们可以使用一个共享变量count来记录任务完成的数量。每当一个线程完成抓取任务,会在原来的 ...
分类:
其他好文 时间:
2020-06-14 15:11:37
阅读次数:
56
FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括:sync,mmap,libaio,posixaio,SGv3,splice,null,network,syslet,guasi,solarisaio等等。fio官网地址:http://freshmeat.net/projects/fio/一,FIO安装wgethttp://brick.kernel.
分类:
系统相关 时间:
2020-06-09 09:25:48
阅读次数:
111
一个设备驱动的主要任务有两个: 1. 存取设备的内存 2. 处理设备产生的中断 对于第一个任务。UIO 核心实现了mmap()能够处理物理内存(physical memory),逻辑内存(logical memory), 虚拟内存(virtual memory)。UIO驱动的编写是就不须要再考虑这些 ...
分类:
系统相关 时间:
2020-06-05 14:53:58
阅读次数:
93
本系列文章主要是学习记录Linux下进程间通信的方式。 常用的进程间通信方式:管道、FIFO、消息队列、信号量以及共享存储。 参考文档:《UNIX环境高级编程(第三版)》 参考视频:Linux进程通信 推荐看看,老师讲得很不错 Linux核心版本:2.6.32-431.el6.x86_64 注:本文 ...
分类:
系统相关 时间:
2020-06-05 00:57:05
阅读次数:
88
Rust Ordering语义理解 应用场景/条件 应用场景: 多线程之间使用原子类型通过共享内存的方式进行线程间通信; 使用条件: 支持原子类型操作的指令集架构平台, 如x86/x86_64支持LOCK前缀的指令是原子操作; 注: 使用条件仅仅针对Rust, 当前1.43.1版本中Rust的所有A ...
分类:
其他好文 时间:
2020-06-04 15:21:26
阅读次数:
87
1.锁 #线程中是不是会产生数据不安全# 共享内存a = 0def add_f(): global a for i in range(200000): a += 1?def sub_f(): global a for i in range(200000): a -= 1?from threading ...
分类:
其他好文 时间:
2020-06-03 18:49:10
阅读次数:
49
信号量通常用于进程并发控制,此处并发有两个含义:进程共享资源的互斥,进程时序关系控制。这两种方式也是信号量最常见的应用。互斥量作为共享资源互斥最常用的方式,只能用于单一进程(要实现多进程,可以采用共享内存映射某个互斥量,但一般不这么做)。在Linux操作系统中,有两种类型的信号量:XSI信号量和PO ...
分类:
系统相关 时间:
2020-05-31 14:31:05
阅读次数:
88
最近学习了操作系统的并发;以下是关于进程间实现并发,通信的两个方法。 例子: 求100000个浮点数的和。要求: (1)随机生成100000个浮点数(父进程)。 (2)然后创建4个后代进程,分别求25000个浮点数的和。 (3)父进程对4个后代进程的结果求和。 (4)每个子进程在屏幕上以格式“(ID ...
分类:
系统相关 时间:
2020-05-31 13:01:41
阅读次数:
148