上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 29 下一页

Linux系统编程—信号集操作函数

摘要: 先来回顾一下未决信号集是怎么回事。 信号从产生到抵达目的地,叫作信号递达。而信号从产生到递达的中间状态,叫作信号的未决状态。产生未决状态的原因有可能是信号受到阻塞了,也就是信号屏蔽字(或称阻塞信号集,mask)对应位被置1。阻塞信号集和未决信号集均是由内核维护的,整个过程如下图示: 我们有时需要屏蔽 阅读全文
posted @ 2020-10-07 11:54 良许Linux 阅读(790) 评论(0) 推荐(1)

Linux系统编程 —时序竞态

摘要: ##时序竞态 什么是时序竞态?将同一个程序执行两次,正常情况下,前后两次执行得到的结果应该是一样的。但由于系统资源竞争的原因,前后两次执行的结果有可能得到不一样的结果,这个现象就是时序竞态。 ##pause函数 函数原型: int pause(void); 函数作用: 进程调用pause函数时,会造 阅读全文
posted @ 2020-10-05 17:04 良许Linux 阅读(532) 评论(0) 推荐(0)

Linux系统编程 —线程属性

摘要: 在之前的章节中,我们在调用pthread_create函数创建线程时,第二个参数(即线程属性)都是设为NULL,即使用默认属性。一般情况下,使用默认属性已经可以解决我们开发过程中的大多数问题。 但是,有时项目中我们对线程会有些特殊的要求,比如修改线程栈的大小,直接调用线程的库函数无法满足需求,在这种 阅读全文
posted @ 2020-10-03 14:00 良许Linux 阅读(937) 评论(0) 推荐(1)

git 一个可以提高开发效率的命令:cherry-pick

摘要: 各位码农朋友们一定有碰到过这样的情况:在develop分支上辛辛苦苦撸了一通代码后开发出功能模块A,B,C,这时老板过来说,年青人,我们现在先上线功能模块A,B。你一定心里一万只草泥马奔腾而过,但为了混口饭吃必须得按老板的意思办事啊。 怎么办?一个办法就是,重新建一个分支,然后再把功能模块C回退,留 阅读全文
posted @ 2020-09-29 20:18 良许Linux 阅读(907) 评论(1) 推荐(2)

Linux系统编程 —互斥量mutex

摘要: ##互斥量mutex 前文提到,系统中如果存在资源共享,线程间存在竞争,并且没有合理的同步机制的话,会出现数据混乱的现象。为了实现同步机制,Linux中提供了多种方式,其中一种方式为互斥锁mutex(也称之为互斥量)。 互斥量的具体实现方式为:每个线程在对共享资源操作前都尝试先加锁,成功加锁后才可以 阅读全文
posted @ 2020-09-27 21:06 良许Linux 阅读(6175) 评论(0) 推荐(0)

Linux系统编程 —读写锁rwlock

摘要: 读写锁是另一种实现线程间同步的方式。与互斥量类似,但读写锁将操作分为读、写两种方式,可以多个线程同时占用读模式的读写锁,这样使得读写锁具有更高的并行性。 读写锁的特性为:写独占,读共享;写锁优先级高。对于读写锁,掌握了这12个字就足矣了。 Linux环境下,读写锁具有以下三种状态: 读模式下加锁状态 阅读全文
posted @ 2020-09-26 17:49 良许Linux 阅读(3865) 评论(0) 推荐(2)

Linux系统编程—条件变量

摘要: 条件变量是用来等待线程而不是上锁的,条件变量通常和互斥锁一起使用。条件变量之所以要和互斥锁一起使用,主要是因为互斥锁的一个明显的特点就是它只有两种状态:锁定和非锁定,而条件变量可以通过允许线程阻塞和等待另一个线程发送信号来弥补互斥锁的不足,所以互斥锁和条件变量通常一起使用。 当条件满足的时候,线程通 阅读全文
posted @ 2020-09-25 20:08 良许Linux 阅读(2393) 评论(0) 推荐(0)

Linux系统编程—信号量

摘要: 大家知道,互斥锁可以用于线程间同步,但是,每次只能有一个线程抢到互斥锁,这样限制了程序的并发行。如果我们希望允许多个线程同时访问同一个资源,那么使用互斥锁是没有办法实现的,只能互斥锁会将整个共享资源锁住,只允许一个线程访问。 这种现象,使得线程依次轮流运行,也就是线程从并行执行变成了串行执行,这样与 阅读全文
posted @ 2020-09-23 19:35 良许Linux 阅读(854) 评论(0) 推荐(1)

Linux系统编程—进程间同步

摘要: 我们知道,线程间同步有多种方式,比如:信号量、互斥量、读写锁,等等。那进程间如何实现同步呢?本文介绍两种方式:互斥量和文件锁。 ##互斥量mutex 我们已经知道了互斥量可以用于在线程间同步,但实际上,互斥量也可以用于进程间的同步。为了达到这一目的,可以在pthread_mutex_init初始化之 阅读全文
posted @ 2020-09-21 22:12 良许Linux 阅读(2240) 评论(0) 推荐(0)

linux后台执行命令:&与nohup的用法

摘要: 大家可能有这样的体验:某个程序运行的时候,会产生大量的log,但实际上我们只想让它跑一下而已,log暂时不需要或者后面才有需要。所以在这样的情况下,我们希望程序能够在后台进行,也就是说,在终端上我们看不到它所打出的log。为了实现这个需求,我们介绍以下几种方法。 我们以下面一个test程序来模拟产生 阅读全文
posted @ 2020-09-20 17:57 良许Linux 阅读(4532) 评论(0) 推荐(0)
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 29 下一页