linux
照顾不周
努力中......
展开
-
【Linux】线程池
线程池创建了一大堆线程(等价,无角色之分)+线程安全的队列从程序角度分析,线程池中线程是用来处理线程池队列中的数据1. 思考:为什么使用线程池/使用线程池的场景大量的不同请求涌入服务器的场景第一种情况:只有一个处理业务线程 串行处理,效率低第二种情况:重新开辟新的线程处理时间成本:创建线程+处理业务+销毁线程潜在风险:可能会造成操作系统资源耗尽,造成系统崩溃。创建大量线程,操...原创 2020-02-15 12:11:56 · 102 阅读 · 0 评论 -
【Linux】线程安全(二)
一.POSIX信号量实现进程/线程间同步与互斥本质:计数器+等待队列+等待+唤醒接口与条件变量对比:多了一个资源计数器原创 2020-02-14 09:08:22 · 124 阅读 · 0 评论 -
【Linux】线程安全
1.线程安全问题多个线程同时访问临界资源,产生二义性。临界资源:也称共享资源,比如一个对象,对象 中的属性,一个文件,一个数据库等2.解决线程安全问题同步:保证执行流对临界资源的合理访问。(轮询访问)互斥:保证不同执行流对临界资源的原子访问。即每次只能有一个执行流访问临界资源。3.互斥如何实现1.互斥锁互斥锁底层是一个互斥量计数器,只有两个取值。0/10表示资源不可以被...原创 2020-02-13 17:38:57 · 1153 阅读 · 0 评论 -
【Linux】线程
一.线程(执行流)1.概念线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。2.线程,进程的区别操作系统的最小调度单位:线程操作系统的进程资源分配的基本单位:进程1.构成进程由3部分构成 :进程控制块(pcb), 程序段,数据...原创 2020-02-13 16:22:53 · 274 阅读 · 0 评论 -
【Linux】进程间通信
一.进程间通信简介1.进程间通信目的数据传输:一个进程需要将它的数据发送给另一个进程资源共享:多个进程之间共享同样的资源。通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知道它的状态改变。2...原创 2020-02-06 18:25:01 · 132 阅读 · 0 评论 -
【Linux】基础IO
一.系统所提供的IO接口1.open()#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>int open(const char *pathname, int flags);int open(const char *pathname, int flags, mode_t mode...原创 2020-02-06 13:37:25 · 217 阅读 · 0 评论 -
【Linux】进程控制
一.进程创建在linux中利用fork函数创建子进程,它从已存在进程中创建一个新进程。新进程为子进程,而原进程为父进程。详悉fork()函数从已存在进程中创建一个新进程。新进程为子进程,而原进程为父进程。#include <unistd.h>pid_t fork(void);返回值:子进程中返回0父进程返回子进程id出错返回-1fork函数...原创 2020-02-03 18:08:47 · 151 阅读 · 0 评论 -
【Linux】环境变量相关
一.基本概念环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数如:我们在编写C/C++代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但是照样可以链接成功,生成可执行程序,原因就是有相关环境变量帮助编译器进行查找。环境变量通常具有某些特殊用途,还有在系统当中通常具有全局特性。二.常见环境变量PATH : ...原创 2020-02-03 16:25:46 · 203 阅读 · 0 评论 -
【Linux】查看进程以及建立子进程fork()函数
一.系统文件查看进程进程的信息可以通过 /proc 系统文件夹查看如:要获取PID为1的进程信息,你需要查看 /proc/1 这个文件夹。二.通过命令查看进程1.ps命令显示此刻的进程BSD选项ps a #输出与终端相关进程信息ps x #输出与终端无关进程信息ps ax #输出所有进程信息ps aux #以用户导向的格式输出所有进程信息ps axuf #将进程以树形...原创 2020-02-03 11:04:15 · 1599 阅读 · 0 评论 -
【Linux】进程概念
一.冯诺依曼体系当前计算机主要是基于冯诺依曼体系结构设计的,下面就简单分析一下冯诺依曼体系结构的计算机是如何工作的。主要由五大部件组成1.存储器用来存放数据和程序2.运算器主要运行算数运算和逻辑运算,并将中间结果暂存到运算器中3.控制器主要用来控制和指挥程序和数据的输入运行,以及处理运算结果4.输入设备用来将人们熟悉的信息形式转换为机器能够识别的信息形式,常见的有...原创 2020-02-01 18:34:26 · 157 阅读 · 0 评论 -
【Linux】常见问题
1.git clone 失败解决方法:yum update -y nss curl libcurl原创 2020-02-01 11:51:48 · 241 阅读 · 0 评论 -
GDB:Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.132.el6.x86_64
debuginfo-install glibc-2.12-1.132.el6.x86_64问题描述:centos中GDB调试出现如下错误:Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.132.el6.x86_641修改/etc/yum.repos.d/CentOS-Debuginfo.repo里面的debug...转载 2020-01-31 14:33:23 · 356 阅读 · 0 评论 -
【Linux】编译器gcc及调试器gdb
一.程序的执行过程1 预处理(进行宏替换)2 编译(生成汇编)3 汇编(生成机器可识别代码)4 连接(生成可执行文件或库文件)二.Linux编译器gcc使用1.格式 :gcc [选项] 要编译的文件 [选项] [目标文件]1.预处理(进行宏替换):gcc -E hello.c -o hello.i2.编译(生成汇编): gcc -S hello.i -o hello.s3....原创 2020-01-29 16:20:01 · 540 阅读 · 0 评论 -
【Linux】Vim编译器的使用方法
一.如何进入(有点沙雕,我一开始都不知道)直接在linux系统下输入vi 【文件名】指令即可进入。如:vi a.txt二.vim编译器的三种工作模式命令模式(一开始进入的界面即是命令模式)编辑模式(键盘输入i进入编辑模式,esc键由输入模式进入命令模式)底层模式(键盘输入:进入底层模式,esc键由底层模式进入命令模式)三.命令模式此状态下敲击键盘动作会被vim识别为命令,而非输...原创 2020-01-28 12:44:43 · 880 阅读 · 0 评论 -
【Linux】常见指令总结(三)
一.more指令语法:more [选项][文件]功能:more命令,功能类似 cat常用选项:-n 对输出的所有行编号q 退出moremore b.txt二.less指令less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, ...原创 2020-01-27 18:26:05 · 5445 阅读 · 0 评论 -
【Linux】常见指令总结(二)
一.cp指令语法:cp [选项] 源文件或目录 目标文件或目录功能: 复制文件或文件夹说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且后的目的地是一个已经存在的目录, 则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而后的目的地并非一个已存在的目录,则会出现错误信息常用选项:-f 强行复制文件或目录, 不论目的文件或目录是否已经存在-i...原创 2020-01-27 13:09:18 · 952 阅读 · 1 评论 -
【Linux】常见指令总结(一)
一.ls指令语法: ls [选项][目录或文件]功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。常用选项:-a 列出目录下的所有文件,包括以 . 开头的隐含文件。-d 将目录像文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件-k 以 k 字节的形式表示文件的大小...原创 2020-01-27 12:46:02 · 3445 阅读 · 0 评论 -
【Linux】centos7连接xshell所需ip地址查询
1.输入ip查询命名 ip addr 此命令会出现3个条目,centos的ip地址是ens33条目中的inet值。会发现 ens33 没有 inet 这个属性,那么就没法通过IP地址连接虚拟机。2.接着来查看ens33网卡的配置: vi /etc/sysconfig/network-scripts/ifcfg-ens33注意vi后面加空格vi是Linux内置的文本编辑器命令 打开文件...原创 2020-01-20 18:48:07 · 1705 阅读 · 1 评论