linux
awhfc
小白一个
展开
-
linux C锁的概念
临界区指的是一个访问共用资源(例如:共用设备或是共用存储器)的程序片段,而这些共用资源又无法同时被多个线程访问的特性锁的特性只有有限的人能占有,关键结构、数据、区域只有特定的对象能访问,为了解决并发操作的顺序不确定性。锁的种类互斥锁对于读者和写者来说。只要有一方获取了锁,另一方则不能继续获取,进而执行临界区代码自旋锁原子操作指的是在执行过程中不会被别的代码路径所中断的操作。因为这个资源非常重要,所以一直在远大转圈等这个资源,别的什么事也不干。保障了不同CPU对一段关键代码同时只能有一方占用原创 2020-09-16 14:14:17 · 796 阅读 · 0 评论 -
阿里云Ubuntu16.04搭建EMQ
之前我们讲过Windows 使用SSH链接阿里云服务器win10通过SSH连接阿里云服务器这一节我们在服务器搭建EMQ阿里云服务器搭建EMQ首先 SSH连接服务器ssh root@47.93.117.91输入密码之后成功进入如有不懂的请看上一节win10通过SSH连接阿里云服务器先下载解压软件因为待会要解压安装包 sudo apt-get install unzip下载安装包wget https://www.emqx.io/downloads/broker/v4.0.6/emqx原创 2020-08-23 21:03:28 · 755 阅读 · 0 评论 -
linux基本概念之中断、轮询
用通俗易懂的语言来阐述一些基本概念,不涉及代码,小白也能看得懂。中断是什么意思就是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。中断是一种计算机术语。通俗点说就是停下当前的执行程序转而执行新的程序。 执行完后再返回执行之前的程序。为什么要有中断因为外围设备和CPU处理速度不对等。就好比电脑的处理速度和你键盘打字的输入速度,电脑处理速度非常快,如果一直等待你输入,那样非常浪费资源。更通俗的说,老板说明原创 2020-08-22 15:17:29 · 1550 阅读 · 2 评论 -
linux下多线程编程入门(三)
前面两节粗略学习了一下多线程编程,这一节我们来了解一下锁的概念。由于多线程之间是并发执行的,而系统调度又是随机的,因此在写多线程程序时会出现很多问题,这时就免不了要用到各种锁机制来保证线程安全且按我们的意愿正确执行。多线程可能出现的问题当多个线程同时读写同一块代码区的时候,就出现很多问题。比如初始i=0;我们希望线程1和线程2各执行一次i++;理想结果是i=2;但是线程1执行 i++; 此时应该 i=1;但是线程2正好同时读取到了i=0;自加后i=1;然后把i=1复制给i。这不是我们希望看到原创 2020-08-21 20:04:52 · 142 阅读 · 0 评论 -
linux下多线程编程入门(二)
上一节中,从输出的数字分布,可以看出是代码多线程轮流执行的,但是我们并不知道对应数字是哪一个线程输出的,这一节我们通过学习往线程中传参数 ,以此区分线程。完整代码如下:#include <stdio.h>#include<stdlib.h>#include<pthread.h>void* test(void* args) //传入的参数是 Void *类型{ int i; char* name=(char*)args;//转换类型原创 2020-08-21 19:19:17 · 251 阅读 · 0 评论 -
linux下多线程编程入门(一)
多线程编程linux下GCC编译环境可以直接使用vi 编写代码 也可以使用vscode编写完后在终端使用gcc编译我采用的是第二点基本介绍pthread_t 它用于声明线程ID,类似于int a这样的声明,我们要先声明一个线程ID。pthread_create()该函数用来创建线程,他有四个形参,我们暂时只用第一个和第三个,其他两个填NULL就行。pthread_create是类Unix操作系统(Unix、Linux、Mac OS X等)的创建线程的函数。它的功能是创建线原创 2020-08-21 17:13:42 · 192 阅读 · 0 评论