
Linux编程
铁桶小分队
这个作者很懒,什么都没留下…
展开
-
Linux线程退出方式总结
在编写多线程代码时,经常面临线程安全退出的问题。 一般情况下,选择检查标志位的方式: 在线程的while循环中,执行完例程后,都对标志位进行检查,如果标志位指示继续执行则再次执行例程,如果标志位设置为退出状态,则跳出循环,结束线程的运行。这个标志位需要主线程(或其他线程)设置,设置后,主线程调用pthread_join接口进入休眠(接口参数指定了等待的线程控制指针),子线程退出后,主线程会接收到原创 2016-02-17 20:10:13 · 20838 阅读 · 3 评论 -
Linux多线程中使用信号
转载文章,出自: http://blog.youkuaiyun.com/qq276592716/article/details/7325250一些原理性的东西,转了加深印象在Linux的多线程中使用信号机制,与在进程中使用信号机制有着根本的区别,可以说是完全不同。在进程环境中,对信号的处理是,先注册信号处理函数,当信号异步发生时,调用处理函数来处理信号。它完全是异步的(我们完全不知到信号会在进程的那个执行点到转载 2016-02-18 14:35:18 · 569 阅读 · 0 评论 -
Linux条件变量的使用
Linux线程同步之间存在多种机制,条件变量是一种类似操作系统里提到的生产者-消费者算法的同步机制,允许线程以无竞争的方式等待特定条件的发生。示例伪代码:void* Thread1(void){ while(线程运行条件成立){ … pthread_mutex_lock(qlock); while(条件成立)pthread_cond_wait原创 2016-03-12 20:29:01 · 842 阅读 · 0 评论 -
以队列的形式使用共享内存
共享内存允许多个进程使用某一段存储区,数据不需要在进程之间复制,多个进程都把该内存区域映射到自己的虚拟地址空间,直接访问该共享内存区域,从而可以通过该区域进行通信,是一种速度很快IPC。下面是共享内存映射图一般描述使用共享内存,都是以普通缓冲区的形式访问,这里除了讲述共享内存的原理和使用方法,还会实现用队列的方式使用共享内存。创建共享内存int shmget(key_t key, size_t si原创 2016-05-14 17:22:07 · 4733 阅读 · 2 评论 -
Linux多线程锁属性设置
互斥锁是Linux下多线程资源保护的常用手段,但是在时序复杂的情况下,很容易会出现死锁的情况。可以通过设置锁的属性,避免同一条线程重复上锁导致死锁的问题。通过int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int type)接口设置一般是以下四种属性:PTHREAD_MUTEX_NORMALThis type of mutex do原创 2016-05-16 19:26:23 · 1158 阅读 · 0 评论 -
shell编程:递归遍历目录下的所有文件并统一改名
遇到一道题目,如何把某个目录下的每个文件统一在名字前加上”abc”,用shell实现首先分析,一个目录下除了文件,还可能存在目录,这里可以看出需要有递归操作,如果是文件直接改名,目录则进入然后进行遍历 如何实现遍历?我们写一个函数:function travFolder(){ #echo "travFolder" flist=`ls $1` cd $1 #echo原创 2016-07-08 19:55:12 · 12591 阅读 · 0 评论 -
Linux网络编程:recv的返回值
recv是网络编程中用于TCP传输接收数据的接口,由于工作中一直没有接触到网络编程,虽然知道这个函数,但是没有使用经验,所有对接口细节不是很了解。直到前阵子在项目中调试第三方的源码时,跟踪到这个函数,才发现它的返回值和我想象的不太一样。recv函数的原型:ssize_t recv(int sockfd, void* buf, size_t len, int flags);之前知道的是如果读取成功,会原创 2016-07-29 23:41:44 · 7864 阅读 · 3 评论 -
SELinux策略实例--type_transition(二)
上一篇博客http://blog.youkuaiyun.com/keheinash/article/details/70169705,讲了type_transition的一个实例,成功地让特定类型的进程执行指定可执行文件后,产生的新进程的domain成为策略文件中指定的类型。在上一篇博客的最后,把可执行文件替换为脚本文件后,再去执行脚本文件,策略就不起作用了,bash脚本: python脚本: 出现这个问题原创 2017-05-24 20:18:20 · 3004 阅读 · 0 评论