Android InputManager分析
本篇为鸡生蛋系列第二篇文章Linux input系统数据上报流程Android InputManager分析AMS startActivity()activity显示过程梳理HomeLauncher启动主要讲一下inputmanager相关的,即驱动把数据上报到用户空间后,用户空间到应用这么个流程,在上一遍讲内核的input子系统时候,我们采取的反向分析,即由驱动出发,最后到input ...
2019-04-29
再次阅读 Tornado 中的 coroutine 代码
yield and generator will be the front knowledge of this article. And you should also have some sense of epoll/kqueue and callback style. Let's enjoy the source code of the implement of coroutine.
浅析I/O模型-select、poll、epoll
概念(1)c++中将数据的输入输出称之为流(stream),在c++中,流被定义为类,成为流类(stream class),其定义的对象为流对象。(2)文件,套接字(socket),管道(pipe)等能够进行I/O操作的对象,可以被看做为流
redis 笔记
非阻塞I/O,Reis使用epoll作为I/O多路复用技术的实现,再加上Redis自身的时间处理模型将epoll中的连接、读写、关闭都转换为时间,不再网络I/O上浪费过多的时间。
2020-09-11
【 Android 10 系统启动 】系列 -- init(天字一号进程)
由于源码分析的代码量比较大,大部分博客网站的内容显示页面都比较窄,显示出来的效果都异常丑陋,所以您也可以直接查看 《 Thinking in Android 》 来阅读这边文章,希望这篇文章能帮你梳理清楚 “int 进程原理”。
从基础到进阶:掌握Nginx主配置文件的必备技巧
Nginx的主配置文件是nginx.conf,位于/usr/local/nginx/conf/目录中。这个文件包含了Nginx服务器的全局配置。
2024-07-10
『腾讯后台开发』实习生技能要求
如题,应届生除了要良好地掌握算法和数据结构以外,以下一些技能点列表希望对大家有帮助,有兴趣的朋友可以参考这个针对性地补缺补差。文章列出的技能点有的要求熟悉,有的了解即可,注意技能点前面的修饰词。如果没有明确给出“熟悉”“了解”等字眼,要求均为熟悉。
Redis为什么是单线程、及高并发快的3大原因详解
3.redis使用多路复用技术,可以处理并发的连接。非阻塞IO 内部实现采用epoll,采用了epoll+自己实现的简单的事件框架。epoll中的读、写、关闭、连接都转化成了事件,然后利用epoll的多路复用特性,绝不在io上浪费一点时间。
如何用Netty写一个高性能的分布式服务框架?
简介: Netty 是一个致力于创建高性能网络应用程序的成熟的 IO 框架。相比较与直接使用底层的 Java IO API,不需要先成为网络专家就可以基于 Netty 去构建复杂的网络应用。业界常见的涉及到网络通信的相关中间件大部分基于 Netty 实现网络层。
探究K8S v1.19 GA的Seccomp
Seccomp(全称:secure computing mode)在2.6.12版本(2005年3月8日)中引入linux内核,是一种限制系统调用的安全机制。在严格模式下,将进程可用的系统调用限制为四种:read,write,exit,sigreturn,其他的系统调用都会杀死进程。过滤模式下,可以指定允许那些系统调用,Seccomp进行过滤的方式是基于使用SECCOMP_MODE_FI...
2020-08-28
记录一次C语言调用go生成的动态库的踩坑过程
由于某些特殊原因,需要在C语言中调用go语言生成的so,本来挺顺利,一切都运行的很好。突然某一天,不知道怎么回事,再一个新程序中无法正常运行了,看到的现象是程序无任何响应,类似于直接卡死了。使用gdb查看进程当前的信息,看到如下调用栈:
2022-08-24
java—water—NIO和AIO
来一个新连接,就新开一个线程处理,之后的操作全部由此线程来完成。性能瓶颈:1、每个线程都需要一部分内存,内存会被迅速消耗,同时,线程切换的开销非常大。2、阻塞操作也是一个问题。首先,accept() 是一个阻塞操作,新建线程后不代表对方就将数据传输过来。所以,SocketChannel#read 方法将阻塞,等待数据,明显这...
2022-02-20
Android C++系列:Linux Socket编程(四)多路IO转接服务器
select能监听的文件描述符个数受限于FD_SETSIZE,一般为1024,单纯改变进程打开 的文件描述符个数并不能改变select监听文件个数
2024-07-07
netty系列之:在netty中使用native传输协议
对于IO来说,除了传统的block IO,使用最多的就是NIO了,通常我们在netty程序中最常用到的就是NIO,比如NioEventLoopGroup,NioServerSocketChannel等。
2022-06-29
浅析Java NIO底层原理及编写步骤
从历史发展角度看,一个新方法的出现,必然是先出现一种不太高效的方法,人们再加以改进。只有先理解了不太高效的方法,才能够理解新技术的本质。所以我们需要先了解一下什么是BIO?
2021-09-14
swoole (ERRNO 9012): worker exit timeout, forced to terminate
swoole server下使用了swoole_event_add,在关闭服务的时候日志中出现了提示 {代码...} 并且关闭服务时间比正常情况下要慢。 解决方法 开启 'reload_async' => true 配置 注册onWorderExit回调,在回调中删除事件 {代码...} 问题解决 swoole版本4.4.5,php7.2.19 {代码...}
2019-09-09
Redis常见问题
1) 缓存2) 排行榜系统(有序集合zset)3) 计数器应用4) 社交网络5) 消息队列6) 限速,例如一分钟不能超过5次7) 标签(集合)
2021-01-11