René's URL Explorer Experiment


Title: AsyncWay

Open Graph Title: AsyncWay

X Title: AsyncWay

Description: 编程学习者

Open Graph Description: 编程学习者

X Description: 编程学习者

Mail addresses
lysh0526@gmail.com

Opengraph URL: https://cyrusin.github.io/index.html

direct link

Domain: cyrusin.github.io

authorLi Shuai
og:typewebsite
og:site_nameAsyncWay
twitter:cardsummary
twitter:creator@xiaoLeeV5

Links:

https://cyrusin.github.io/
AsyncWayhttps://cyrusin.github.io/
https://cyrusin.github.io
Homehttps://cyrusin.github.io/
Archiveshttps://cyrusin.github.io/archives
Abouthttps://cyrusin.github.io/about
RSShttps://cyrusin.github.io/atom.xml
Redis相关的问题及应对策略 1. 连接数过高Redis连接数过高,且没有修改进程能打开的最大文件数,当达到最大文件数限制时,Redis在accept新连接的时候会立即报错”Max open files”,无法成功获取该连接,此时,listen socket是持续可读的状态,事件循环直接把CPU跑满。这种现象 2016-12-16 https://cyrusin.github.io/2016/12/16/redis-20161216/
ioloop的blocking_signal 这里的blocking signal里的blocking并不是传统意义上的针对IO的blocking, 尽管这可能是引起ioloop阻塞的一个原因之一。在这里,blocking指的是ioloop在epoll返回之后开始依次处理各监听文件句柄上的IO事件时,直到下一次进入epoll 2016-08-04 https://cyrusin.github.io/2016/08/04/ioloop-blocking-signal-20160804/
greenlet上下文切换的原理 greenlet是Python众多协程实现技术中的一种,eventlet是基于greenlet实现的。而eventlet和libev又是gevent的核心。greenlet的上下文切换清晰易懂,可以结合IO事件循环构建出一些高效的事件处理逻辑。不同于yield类型的上下文切换,g 2016-07-28 https://cyrusin.github.io/2016/07/28/greenlet-20150728/
理解Motor: greenlet加持的异步非阻塞MongoDB驱动分析 最不喜欢在Tornado中使用任何同步阻塞型的东西,不想让ioloop阻塞在某个IO调用上,因为单线程的东西任何阻塞都是代价很高的,除非你的数据库被优化的性能很好,速度很快。除了之前的线程池之外,直接使用异步库也是不错的选择,Motor就是Tornado里可以用的很好的异步库,它 2016-06-06 https://cyrusin.github.io/2016/06/06/motor20160606/
从Ctrl-C看Python多线程的信号处理 也许你会偶然发现Python的多线程程序使用Ctrl-C杀不掉,必须拿到pid用kill -9才能干掉,研究这个问题的原因可以使得对Python多线程的信号处理及线程的退出机制有更好的理解。 假如有一个Python写成的用多线程模拟生产者-消费者的程序,代码如下: class P 2016-05-25 https://cyrusin.github.io/2016/05/25/python20160525/
Python多线程join()的实现细节 写Python多线程都知道当前线程调用a.join()后,会阻塞直到线程a运行结束,看了一下threading模块的源码,了解了一下实现的原理。 每一个新开启的线程内部都维护着一个Condition类型的条件变量,对线程a进行join(),其实是wait()在线程a内部的条件变量 2016-04-28 https://cyrusin.github.io/2016/04/28/python-join-implementation/
GIL的实现细节 GIL熟悉Python的人对GIL这货可定都不陌生, 全局解释器锁(Global Interpreter Lock)简称GIL, 这货是Python多线程的核心机制。由于Python的线程实际是操作系统的原生线程,多个线程同时执行同一段字节码可能会导致很多问题(比如: 内存管理的 2016-04-27 https://cyrusin.github.io/2016/04/27/python-gil-implementaion/
Tornado与线程池 Tornado本身的设计目标是单线程异步非阻塞,要想很好的发挥它的性能最好使用异步IO,并且Tornado本身也提供了异步的AsyncHttpClient的实现,配合gen.coroutine和yield,可以让请求异步执行从而不阻塞当前线程,对于单线程服务器来说,阻塞(bloc 2016-04-07 https://cyrusin.github.io/2016/04/07/tornado-threadpool-20160407/
利用Redis作周期性访问失败计数功能 每次进入应用客户端时,都需要进行后端鉴权服务,接口会调用某牌照方的鉴权接口,根据用户的MAC地址决定用户是否有权限登陆使用服务。由于调用的接口不是很稳定,有时会出现连续一段时间误判,导致终端大量用户无法使用APP,所以决定在接口这边做一个策略: 统计一段时间内的第三方鉴权接口鉴 2016-03-29 https://cyrusin.github.io/2016/03/29/python-redis-counter-20160329/
Python闭包的两个注意事项 ##延迟绑定 Python闭包函数所引用的外部自由变量是延迟绑定的。 In [2]: def multipliers(): ...: return [lambda x: i * x for i in range(4)] In [3]: print [m(2) fo 2016-03-11 https://cyrusin.github.io/2016/03/11/python-closure-20160311/
2https://cyrusin.github.io/page/2/
3https://cyrusin.github.io/page/3/
Nexthttps://cyrusin.github.io/page/2/
https://cyrusin.github.io
https://cyrusin.github.io
Hexo1https://cyrusin.github.io/categories/Hexo/
Memcached1https://cyrusin.github.io/categories/Memcached/
MongoDB1https://cyrusin.github.io/categories/MongoDB/
Nginx2https://cyrusin.github.io/categories/Nginx/
Python10https://cyrusin.github.io/categories/Python/
Redis1https://cyrusin.github.io/categories/Redis/
Tornado2https://cyrusin.github.io/categories/Tornado/
协程1https://cyrusin.github.io/categories/协程/
技术1https://cyrusin.github.io/categories/技术/
服务器2https://cyrusin.github.io/categories/服务器/
算法1https://cyrusin.github.io/categories/算法/
技术16https://cyrusin.github.io/tags/技术/
Python15https://cyrusin.github.io/tags/Python/
Tornado4https://cyrusin.github.io/tags/Tornado/
项目4https://cyrusin.github.io/tags/项目/
网络IO2https://cyrusin.github.io/tags/网络IO/
网络编程2https://cyrusin.github.io/tags/网络编程/
Nginx2https://cyrusin.github.io/tags/Nginx/
Lua2https://cyrusin.github.io/tags/Lua/
MongoDB2https://cyrusin.github.io/tags/MongoDB/
Redis2https://cyrusin.github.io/tags/Redis/
hexo1https://cyrusin.github.io/tags/hexo/
Linux1https://cyrusin.github.io/tags/Linux/
二分查找1https://cyrusin.github.io/tags/二分查找/
Memcached1https://cyrusin.github.io/tags/Memcached/
mongoengine1https://cyrusin.github.io/tags/mongoengine/
算法1https://cyrusin.github.io/tags/算法/
Motor1https://cyrusin.github.io/tags/Motor/
C1https://cyrusin.github.io/tags/C/
日志1https://cyrusin.github.io/tags/日志/
协程1https://cyrusin.github.io/tags/协程/
开发者头条http://toutiao.io/
伯乐在线http://blog.jobbole.com/
PlanetPythonhttp://planetpython.org/
PyCoder'sWeeklyhttp://lucumr.pocoo.org/
PythonWeeklyhttp://www.pythonweekly.com/
ImportPythonWeeklyhttp://importpython.com/newsletter/
FullstackPythonhttp://www.fullstackpython.com/
PythonZEEFhttps://python.zeef.com/alan.richmond
PythonSubreddithttps://www.reddit.com/r/python
python-must-readshttp://jessenoller.com/good-to-great-python-reads/
WritingIdiomaticPythonhttps://www.jeffknupp.com/
RSS 订阅https://cyrusin.github.io/atom.xml
http://weibo.com/xiaolee123
https://github.com/cyrusin
http://stackoverflow.com/users/2541392
https://twitter.com/xiaoLeeV5
https://www.douban.com/people/mixlee
https://www.zhihu.com/people/cyrusin
hexohttp://hexo.io
Jacmanhttps://github.com/wuchong/jacman
Li Shuaihttps://cyrusin.github.io/about

Viewport: width=device-width, initial-scale=1,user-scalable=no


URLs of crawlers that visited me.