1 同步阻塞IO 用户空间(或者线程)主动发起,等待内核IO才做彻底完成后,才返回用户空间的IO操作,在IO操作过程中国,发起IO请求的用户进程出于阻塞状态。 2 同步非阻塞IO 用户空间的程序不需要等待内核的IO操作彻底完成,可以立即返回用户空间去执行后续的指令,即发起IO请求的用户进程(或线程)出于非阻塞状态,于此同时,内核会立即返回给用户一个IO的状态...
Read MoreIO模型的5种类型
创建于: 9月 01, 2023 分类: 笔记 By 胖爷 没有评论
1 同步阻塞IO 用户空间(或者线程)主动发起,等待内核IO才做彻底完成后,才返回用户空间的IO操作,在IO操作过程中国,发起IO请求的用户进程出于阻塞状态。 2 同步非阻塞IO 用户空间的程序不需要等待内核的IO操作彻底完成,可以立即返回用户空间去执行后续的指令,即发起IO请求的用户进程(或线程)出于非阻塞状态,于此同时,内核会立即返回给用户一个IO的状态...
Read MoreDebian中的gcc目前版本是10.2.0,对于大多数编译够用,但对于一些新版本的就不够用了,例如clickhouse22 下载并解压 apt install bzip2 wget https://mirrors.aliyun.com/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz tar -zxvf gcc-11.2.0.tar...
Read More安装依赖 apt-get install software-properties-common gpg -y 通过llvm安装 sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh) 14" vim ~/.bashrc添加 alias ll='ls -hal' a...
Read MoreWire教程 让我们从示例开始学习Wire的使用。Wire指南提供了指引使用该工具的完整文档。对于那些期望看到将Wire应用于更大场景的读者,基于Go Cloud的留言本示例使用Wire来初始化其组件。在这里我们将构建一个小型的迎宾程序用于理解如何使用Wire。最终完成的作品可以在Wire教程目录中找到。 建立迎宾程序的第一关 让我们创建一个小程序来模拟一个...
Read More需要编译安装clickhouse, 尝试了很多次, 只在centos7下成功过。 参考这篇文章 centos7源码编译安装clickhouse21.8,图文流程 在编译安装前,修改mysql检查文件 cd ClickHouse vim src/Databases/MySQL/MaterializedMySQLSyncThread.cpp 定位到115 exp...
Read MoreClickHouse 是俄罗斯的 Yandex 于 2016 年开源的用于在线分析处理查询(OLAP :Online Analytical Processing)MPP架构的列式存储数据库(DBMS:Database Management System),能够使用 SQL 查询实时生成分析数据报告。ClickHouse的全称是Click Stream,Dat...
Read Morec++自版本11在语言层面引入多线程。 软并发 处理器中任务飞速切换,形成并发的假象。 硬件并发 多核多处理器。 单核单处理器上也可以实现多线程,多核多处理器也会实现任务切换。 并发的方式: 多进程并发:单进程单线程; 多线程并发:单进程多线程; 以上两种方式组合。 多进程并发 独立进程通过信号、套接字、文件、管道等进程间通信途径进行通信,缺点是:设置复杂、...
Read More使用 make -jN 实现多核编译, 加快编译速度,例如18核可以make -j12
Read More基于@RequestMapping注解的路由 package com.sniucom.controller import org.springframework.stereotype.RequestController; import org.springframework.ui.Model; import org.springframework.web.b...
Read MoreJava的注解是JDK1.5之后引入的新特性,用于对代码进行说明,可以对包、类、接口、字段、方法参数、局部变量等进行注解,作用如下: 编写文档: 通过代码里的标识生成Java Doc文档; 编译检查: 通过代码里的标识让编译器对代码实现基本的检查; 代码分析: 通过代码里的标识让编译器对代码进行基本的分析; 编译时动态处理: 编译时通过代码里的元数据进行动态...
Read More