Linux基础
文章平均质量分 70
Sonic_sTorm
这个作者很懒,什么都没留下…
展开
-
linux的epoll实现
今天读到Looper的native实现 中间是依赖linux底层的epoll实现的,所以把今天了解到的相关知识做个整理。epoll是linux多路复用机制中select/poll的升级版。先谈谈select/poll代理即规避了单路阻塞式在多路并发时的线程/进程开销,又规避了忙轮询式 一直不停的问询所有流带来的损耗。只在有I/O事件更新的时候再遍历所有流。但这种机制还是有缺点,如果管道/流的数量很...原创 2018-04-03 22:08:59 · 320 阅读 · 0 评论 -
eventfd函数
eventfd是从LINUX 2.6.27版本开始增加的,主要用于进程或者线程间的通信(如通知/等待机制的实现)。实现了线程之间事件通知的方式,也可以用于用户态和内核通信。eventfd的缓冲区大小是sizeof(uint64_t);向其write可以递增这个计数器,read操作可以读取,并进行清零;eventfd也可以放到监听队列中,当计数器不是0时,有可读事件发生,可以进行读取。函数原型:#i...原创 2018-03-21 16:38:34 · 1120 阅读 · 0 评论 -
centOS命令行装androidSDK
linux中安装ndk与配置ndk环境变量:1、首先是官网找最新的linux下ndk安装包https://developer.android.google.cn/ndk/downloads/index.html 复制链接 wget下来2、unzip解压缩到{目标安装目录}3、这时候就需要配置环境变量了。环境变量的调用顺序一般为etc/profile->~/.bash_profile->...原创 2018-04-15 01:14:35 · 1223 阅读 · 0 评论 -
线程局部存储TLS
这里说的不是ssl里得安全传输协议。它的全名是Thread-Local Storage线程局部存储。又叫TSD:Thread-Specific Data线程特有数据池在C/C++程序中常存在全局变量、函数内定义的静态变量以及局部变量,对于局部变量来说,在栈里,其不存在线程安全问题。但是全局变量和函数内定义的静态变量就不同了。 我们可以用锁来处理(但效率太低);可以通过原子操作来实现(但不支持自定义...原创 2018-04-03 22:05:46 · 403 阅读 · 0 评论