Cent os 下 libevent,greenlet,gevent 的安裝 和介紹 記錄

 

1.   libevent python

    libevent是一個事件觸發的網絡庫,適用於windows、linux、bsd等多種平臺,內部使用linux

select、epoll、kqueue等系統調用管理事件機制。著名分佈式緩存軟件memcached也是libevent 編程

based,並且libevent在使用上能夠作到跨平臺,並且根據libevent官方網站上公佈的數據統計,windows

彷佛也有着非凡的性能緩存

主要組成:libevent包括事件管理、緩存管理、DNS、HTTP、緩存事件幾大部分。事件管理包括各服務器

種IO(socket)、定時器、信號等事件;緩存管理是指evbuffer功能;DNS是libevent提供的一個網絡

異步DNS查詢功能;HTTP是libevent的一個輕量級http實現,包括服務器和客戶端  多線程

centOS下  安裝:併發

wget http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gz框架

tar zxvf libevent-1.4.12-stable.tar.gz

cd libevent-1.4.12-stable

生成配置 ./configure -prefix=/usrbevent

編譯安裝 make && make install

測試libevent是否安裝成功:ls -al /usr/lib | grep libevent, 有正常的文件及ok


2.   greenlet 

    greenlet 包是 Stackless 的副產品,其將微線程稱爲 「tasklet」 。tasklet運行在僞並發中,使用channel進行同步數據交換。greenlet 跟stackless的最大區別是greenlet須要你本身來處理線程切換, 就是說,你須要本身指定如今執行哪一個greenlet再執行哪一個greenlet

安裝  :easy_install greenlet(先須要本身安裝easy_install)

測試是否安裝成功: 

#python

>>import greenlet    無報錯就成功


3.   gevent

  gevent就是一個基於coroutine的python網絡開發框架。協程是一種併發模型,但不一樣於thread

和callback,它的全部task都是能夠在一個線程裏面執行,而後能夠經過在一個task裏面主動放

棄執行來切換到另外一個task執行,它的調度是程序級的,不像thread是系統級的調度。

Gevent最明顯的特徵就是它驚人的性能,尤爲是當與傳統線程解決方案對比的時候。在這一點上

,當負載超過必定程度的時候,異步I/O的性能會大大的優於基於獨立線程的同步I/O這幾乎是常

識了。同時Gevent提供了看上去很是像傳統的基於線程模型編程的接口,可是在隱藏在下面作的

是異步I/O。更妙的是,它使得這一切透明

 安裝:下載最新gevent

# tar zxvf gevent-1.0.tar.gz

# cd gevent-1.0rc1

# python setup.py install

檢測

#python

>>import gevent    無報錯就成功


4. 

用他們來作什麼?

寫網絡程序,多線程處理,提升產品性能!


總結: 對於比較好庫和開源軟件,咱們要不學習利用,他山之石能夠攻玉 啊   ,加油  G0561

相關文章
相關標籤/搜索