- 博客(22)
- 问答 (7)
- 收藏
- 关注
原创 第十四章-高级I/O
高级I/O包括:非阻塞I/O、记录锁、I/O多路复用(select和poll)、异步I/O、readv、writev函数以及存储映射函数(mmap)。
2021-10-26 18:19:53 137
原创 第十三章-守护进程
守护进程(daemon)是生存周期长的一种进程。常在系统导入时启动,仅在系统关闭时终止。因为它们没有控制终端,所以是在后台运行。一、守护进程的特征ps命令打印系统中各个进程的状态,该命令有多个选项。ps -axj//ps -efj-a 显示由其他用户拥有的进程的状态-x 显示没有终端的进程的状态-j 显示与作业有关的信息:会话ID、进程组ID、控制终端以及终端进程组ID系统进程依赖于操作系统实现。父进程ID为0的各进程通常是内核进程,它们作为系统引导装入过程的一部分而启动(init是个例外
2021-10-25 18:28:40 293
原创 第十二章-线程控制
一、线程属性二、同步属性三、重入四、线程特定数据线程特定数据(thread-specific data),也称为线程私有数据(thread-private data),是存储和查询某个特定线程相关数据的一种机制。在分配线程特定数据之前,需要创建与该数据关联的键。这个键用于获取对线程特定数据的访问:#include <pthread.h>int pthread_key_create(pthread_key_t* keyp, void (*destructor)(void*));创
2021-10-24 15:24:14 185
原创 第十一章-线程
一、线程标识进程ID在整个系统中是唯一的,但线程ID只在它所属的进程上下文中才有意义。进程ID是用pid_t类型来表示的,是一个非负整数;线程ID是用pthread_t类型来表示的,pthread_t用一个结构实现(不同的系统实现不同),所以不能作为整数处理。必须使用一个函数来对两个线程ID进行比较#include <pthread.h>int pthread_equal(pthread_t tid1, pthread_t tid2);//相等,返回非0值;不等,返回0线程可以通
2021-10-23 17:42:17 82
原创 第十章-信号
信号是软件终端,提供了一种处理异步事件的方法。一、信号概念很多条件可产生信号:用户终端按键。如Ctrl+C产生中断信号SIGINT硬件异常产生信号。除数为0或引用无效内存等,通常由硬件检测到并通知内核,然后内核向进程产生信号。如对执行无效内存引用的进程发送SIGSEGV调用kill(2)函数将任意信号发送给另一个进程或进程组检测到某种软件条件已经发生,并应将其通知有关进程时,产生信号。例如在网络连接上传来的带外数据(SIGURG)、在管道的读进程终止后,一个进程写此管道(SIGPIPE)以及进
2021-10-22 16:37:06 270
原创 第八章-进程控制
一、进程标识每个进程都有一个非负整型表示唯一的进程ID。但是进程ID时可复用的,当一个进程终止后,其进程ID就成为复用的候选者。1.1 系统专用进程0号进程。ID为0的通常为调度进程,常被称为交换进程。该进程是内核的一部分,并不执行任何磁盘上的程序,因此也被称为系统进程。1号进程。ID为1的通常是init进程。该进程的程序文件在新版本中是/sbin/init。此进程负责在自举内核后启动一个UNIX系统。init通常读取与系统有关的初始化文件,并将系统引导到一个状态(如多用户)。init进程决不会终
2021-10-18 16:51:12 295
原创 第三章-文件I/O
一、相关函数1.open#include <fcntl.h>int open(const char* path, int oflag, .../mode_t mode/);//成功返回文件描述符,失败返回-1path参数为要打开或创建文件的名字,oflag用下面一个或多个常量“或”运算(只列出常用):O_RDONLY:只读打开O_WRONLY:只写打开O_RDWR:读写打开O_EXEC:只执行打开O_SEARCH:只搜索打开(应用与目录)以上五个必须指定一个,且只能指定
2021-10-07 14:40:21 78
原创 七、学习Shell Scripts
一、scripts的撰写与执行撰写注意事项:(1)指令执行时从上而下,从左而右的分析与执行(2)指令、选项与参数间的多个空白都会被忽略;空白行以及tab都会被忽略(3)读取到一个Enter符号(CR),就尝试开始执行该命令(4)若一行内容太多,这可以使用“[Enter]”来延伸至下一行(5)"#"可作为注释符执行方式:例如/home/syf/shell.sh直接下达指令:shell.sh文件必须要具备可读可执行权限(rx)(1)绝对路径执行:/home/syf/shell.sh(2)
2021-10-06 16:12:03 213
原创 第四章-表
一、索引组织表在InnoDB存储引擎中,表都是根据主键顺序组织存放的,这种存储方式的表称为索引组织表。每张表都有个主键,如果在创建表时没有显式地定义主键,则InnoDB会按如下方式选择或创建主键:(1)首先判断表中是否有非空的唯一索引(Unique NOT NULL),如果有,则该列即为主键(2)如果无,InnoDB会自动创建一个6字节大小的指针注:主键的选择根据的是定义索引的顺序,而不是建表时刻的顺序二、InnoDB逻辑存储结构从逻辑角度,所有数据被存放在一个空间中,称之为表空间(tables
2021-10-05 19:36:19 99
原创 六、认识与学习BASH
一、Shell的变量功能1.1 变量的取用与设置:echo, 变量设置规则,unset取用变量:echo# echo $变量# echo ${变量}上述两种都可以。设置和修改变量:# echo ${myname} //变量内容默认为空# myname=syf变量设置规则:(1)’='左右不能有空格(2)变量名称只可以是英文字母与数字,且开头字符不能是数字(3)若该变量需要在其他子程序中执行,则需要以export来使变量变成环境变量:“export PATH”还有很多其他规则
2021-10-05 17:11:54 170
原创 五、文件与文件系统的压缩,打包与备份
一、Linux常见的压缩指令常见的压缩文件扩展名.Z compress程序压缩的文件.zip zip程序压缩的文件.gz gzip程序压缩的文件.bz2 bzip2程序压缩的文件.xz xz程序压缩的文件.tar tar程序打包的数据,并没有压缩过.tar.gz tar打包并经过gzip压缩.tar.bz2 tar打包并经过bzip2压缩.tar.xz tar打包并经过xz压缩常见的压缩指令为gzip, bzip2,以及最新的xz。tar可以将很多文件(包括目
2021-10-05 15:24:27 244
原创 第五章-索引与算法
一、InnoDB存储引擎索引概述二、数据结构与算法三、B+树四、B+树索引五、Cardinality值六、B+树索引的使用七、哈希算法八、全文检索
2021-10-03 15:54:44 99
原创 三、Linux文件与目录管理
一、可执行路径的变量:$PATHecho $PATH显示出目前PATH每个目录之间用冒号隔开。可以看到/usr/bin在PATH变量中,所以在任何地方都能执行ls。添加目录:PATH="${PATH}:/root"以上语句将/root加入PATH。...
2021-10-03 15:19:29 84
原创 二、Linux文件权限与目录配置
一、Linux文件属性键入命令行 “ls -al”,查看当前目录下所有文件(包括目录)属性选项:a: 查看隐藏文件及目录l:以列表形式显示分别表示权限、链接数、拥有者、群组、文件大小、最后修改日期、文件名。权限:第一栏十个字符例如 “- rwx rwx r-x”第1个字符:文件类型d: 目录-: 文件l : 链接文件(link file)b: 可供存储的周边设备c:一次性读取设备(外设等)接下来三组字符,每组3个,分别代表拥有者,群组,其他人的权限3个字符分别表示可读、可写、
2021-10-03 13:11:11 1168
原创 一、计算机概论
一.计算机五大单元输入单元、输出单元、CPU内部的控制单元、算数逻辑单元和内存。1.1CPU架构所有单元都是由CPU内部的控制单元来负责协调的。CPU内部含有一些微指令(按CPU架构不同分为精简指令集与复杂指令集)位:所谓的位是指CPU一次数据读取的最大量。64位CPU代表CPU一次可以读写64bits的数据2.2内存CPU所使用的数据都来自内存,内存主要元件为动态随机存取内存(Dynamic Random Access Memory, DRAM),通电时记录与使用,断电后数据消失。SRAM
2021-10-02 14:57:18 115
原创 第四部分-设计与声明
条款22:将成员变量声明为private。条款23:以non-member、non-friend替换member函数考虑下例:class WebBrowser{public: ... void clearCache(); void clearHistory(); void removeCookies();};如果想定义某个操作调用上述三个函数,可以另外定义一个成员函数:public: ... void clearEverything();//依次调用上述三个函数;另一个做法是
2021-10-01 16:20:23 97
空空如也
cmakelists生成静态库包含了头文件目录还是提示找不到
2021-05-10
c++多进程中的单例模式到底是怎样实现的?
2021-01-13
网络编程API中为什么accept函数第三个参数是地址长度的引用?
2020-08-26
Qt 怎么简便地处理多个控件的鼠标响应事件。
2019-08-12
Qt 怎么设置类似lineEdit的但是是下划线样式的输入框。
2019-08-09
Qt 怎么获取PushButton的默认背景颜色
2019-08-09
QT 怎么通过主窗口按钮在子窗口中刷新数据,而不是重复弹出界面?
2019-07-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人