在redis上建立的分布式信号量和互斥量。
Redis-Semaphore的Python项目详细描述
在redis上建立的分布式信号量和互斥量。
安装
要安装redis信号灯,只需:
pip install redis-semaphore
或者,您可以下载存储库并通过执行以下操作手动安装:
git clone git@github.com:bluele/redis-semaphore.git cd redis-semaphore python setup.py install
示例
from redis import Redis from redis_semaphore import Semaphore from threading import Thread import urllib2 import time semaphore = Semaphore(Redis(), count=2, namespace='example') def task(i): url = 'https://www.google.co.jp/' with semaphore: print('id: {} => {}'.format(i, urllib2.urlopen(url).code)) print('sleep...') time.sleep(2) def main(): threads = list() for i in range(5): threads.append(Thread(target=task, args=(i,))) for th in threads: th.start() for th in threads: th.join() if __name__ == '__main__': main()