Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

Linux线程间用信号量通信

Linux线程间用信号量通信

原来总是用互斥锁(MUTEX)和环境变量(cond)去控制线程的通信,用起来挺麻烦的,用信号量(SEM)来通信控制就方便多了!用到信号量就要包含semaphore.h头文件。可以用sem_t类型来声明一个型号量。用int sem_init(sem_t *sem, int pshared, unsigned int value)函数来初始化型号量,第一个参数就是用sem_t声明的信号量,第二变量如果为0,表示这个信号量只是当前进程中的型号量,如果不为0,这个...
shell中的trailing newline

shell中的trailing newline

最近在学shell脚本,发现很多的shell命令都涉及到一个trailing newline的东西,例如wc -l。man wc,找到-l发现解释如下:print the newline counts即打印出newline 的个数,那newline 到底是什么东西呢?翻了翻词典,发现是结尾换行符的意思,那是不是结尾的时候按下回车的时候产生的换行符呢?在百度搜索资料,发现了一篇文章,原来“很多软件或命令都会自动加上一个trailing newline,也就是...
Java并发编程总结---Hadoop核心源码实例解读

Java并发编程总结---Hadoop核心源码实例解读

程序设计需要同步(synchronization),原因:1)复杂的功能要求的需要使用多线程编程,线程之间存在读写共享变量。2)读写共享变量(shared mutual variable),JVM的内存模型(Memory model: decide when and how changes made by one thread become visuble to others)受到其它因素干扰。3)对共享变量的操作非原子性。例如 i++;就不是原子操作,它...
从数据结构和Thread的机制上控制Daemon线程空耗CPU

从数据结构和Thread的机制上控制Daemon线程空耗CPU

背景:我们将线程设置成Daemon的时候,一般在run()方法会设置成一个while(true) forever的场景,而如果不去控制的话,空耗的while会占用大量的CPU时间片,导致CPU负荷过重。解决措施:1)在每层循环结束时,添加sleep(millisecond),然线程休眠一段时间。(注意,在这种情况下,不会释放对于具有独占特性的对象的同步锁)2)在使用具有的同步锁的对象的Thread中,应该sleep和yield联合使用,降低空耗,同时还要将...
Linux的五个安全TIPS

Linux的五个安全TIPS

你说什么?你不需要在Linuxbox上采取安全措施,因为它是Linux?,仔细想想吧,Linux是天生需要上网的操作系统,它当然是需要安全措施的。的确是比较安全,但是没有任何系统是的100%安全的,如果有的话,那么,好,请打开它吧。下面是5条重要的Linux安全贴士。1、把keyring用起来。对很多人而言,这是一件很令人困惑的事情。你的登录到计算机上,然后你的计算机请求创建一个网络连接,你就要输出你的keyring密码,有一种临时禁用这个特性的解决方法是...
Redis通信协议优化

Redis通信协议优化

1、命令简化分析:redis通信协议中的命令,用的是原始的set、get、hset、hget等字符串,可以用0x01、0x02、0x03、0x04等单字节代替。好处:节省网络传输流量,减少dump文件和aof文件的大小。坏处:不易阅读(这个好象不是问题。。。)。2、命令分隔符简化分析:redis通信协议中的命令分隔符,用的是" ",同HTTP协议,可以用" "或" "代替。好处:节省网络传输流量,减少dump文件和aof文件的大小。坏处:好象没有。3、命...
十年的演变:Linux安全的过去与现在

十年的演变:Linux安全的过去与现在

Linux本身并不是一个安全的操作系统。这是因为Linux是在UNIX的结构设计基础之上进行开发的,而UNIX的开发者对于安全问题并没有十分关心——毕竟那是在1969年。“首先要面对的是事实是,UNIX的开发者并没有考虑安全问题。单单这一点就会引发大量的漏洞,”Dennis Ritchie在1979年他《关于UNIX的安全》的论文中写道。上周二在波士顿的LinuxCon上,红帽公司Linux内核开发者的James Morris谈论了Linux在过去十年里是...
Android webview背景设置为透明无效

Android webview背景设置为透明无效

Adndroid 2.X的设置webview是一个使用方便、功能强大的控件,但由于webview的背景颜色默认是白色,在一些场合下会显得很突兀(比如背景是黑色)。此时就想到了要把webview的背景设置为透明,这样就可以与其背景融为一体。在2.X的平台下,一般设置webview背景为透明的方法如下:wvContent.setBackgroundColor(0);Adndroid 4.0下背景透明失效但当程序在4.0上使用时,发现居然这种设置方法无法,即使通...
<< 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 >>