07 2020 档案

摘要:为了保证多线程能够正确的运行,于是有了锁,锁是为了解决线程对临界资源的互斥访问而生的机制。 互斥锁 互斥锁是最简单的同步机制。进程要访问加锁的资源前先要获得锁,若锁未被占用,即获得并占用,用完释放锁。若线程访问时锁已被占用,则由调度器阻塞该进程,直到锁可用并且被调度使用。阻塞不占用CPU。 由于锁也 阅读全文
posted @ 2020-07-28 15:04 Glaci 阅读(923) 评论(0) 推荐(0)
摘要:在现代计算机上,一个任务的完成,往往需要多个进程协调,这时进程间如何交流就成了必须解决的问题。实现进程间通信(IPC)有很多方法,下面简单介绍一下各个通讯方式的原理,不讲具体代码实现。 管道 管道一般指无名管道(还有另一种叫有名管道),是Unix系统最古老的进程通信方式。管道通信有以下特点: • 管 阅读全文
posted @ 2020-07-26 20:17 Glaci 阅读(640) 评论(0) 推荐(0)
摘要:进程部分基础概念 进程 是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配的基本单位。线程作为进程的细分,是系统任务调度的最小单位。 进程的状态 三种基本状态。运行-就绪-阻塞。Linux中还分的更细,有挂起态、僵死态等,不过总体还是能归为基础三态。 两类进程 普通进程:用户的可以创 阅读全文
posted @ 2020-07-25 16:21 Glaci 阅读(236) 评论(0) 推荐(0)
摘要:·单链表反转 这次讲单链表反转,main方法: public static void main(String[] args) { // 新建链表 LinkNode l = getALinkList(5); LinkNode cur; // 若为带头节点的链表,取消这段注释 // cur = new 阅读全文
posted @ 2020-07-24 22:33 Glaci 阅读(902) 评论(0) 推荐(0)
摘要:线性数据结构就是:顺序表和链表。 其他的就是非线性数据结构,比如树,图等。线性数据结构的特点是,一对一,一个数据只有一个后继和一个前驱;而非线性数据结构则是一对多。 1、顺序表 顺序表是个逻辑概念,顺序表的相邻元素在物理位置上也是相邻的。通常我们采用数组实现顺序表,我们可能会把这两者混为一谈。数组是 阅读全文
posted @ 2020-07-24 13:55 Glaci 阅读(1105) 评论(1) 推荐(0)
摘要:我们在使用Linux时,经常会遇到关于用户权限的问题,每个文件都对不同的用户身份设定了不同的权限。 最常见的场景就是:获取root权限来执行命令。 而Linux中的su和sudo就是关于系统权限的命令,两者都可以让你使用root权限,那它们区别是什么呢? sudo: Linux解释:execute 阅读全文
posted @ 2020-07-21 15:32 Glaci 阅读(477) 评论(0) 推荐(0)
摘要:*本文的版本为centos 7. centos默认是没有加载中文输入法的。需要我们手动设置一下。 步骤 进入【设置】--【Region & Language】 【输入源】下面的加号,并选择【汉语(中国)】,添加第一项【汉语(Intelligent-Pinyin)】 这时就可以看到右上角出现输入法图标 阅读全文
posted @ 2020-07-17 00:41 Glaci 阅读(2336) 评论(0) 推荐(0)