collapsing-thread-pool-executor-“线程池”是一个与线程池兼容的线程池。-Edward Beech How to install How to develop Ex...

collapsing-thread-pool-executor-“线程池”是一个与线程池兼容的线程池。-Edward Beech

发布:2020-12-23 14:16:45.497853

做者:Edward Beech

做者邮箱:initialed85@gmail.com

首页:https://github.com/initialed85/collapsing-thread-pool-executor

文档:None

下载连接

CollapsingThreadPoolExecutor

The CollapsingThreadPoolExecutor is inspired by and compatible with the ThreadPoolExecutor from the "futures" module, it operates differently in that worker threads are handled with a stack which results in the same worker or workers doing all the work (and idle workers being destroyed).python

How to install

$ pip install collapsing-thread-pool-executor

How to develop

Prerequisitesgit

  • python3 w/ pip
  • python2 w/ pip
  • virtualenvwrapper
  • entr

Set up the environmentsgithub

$ mkvirtualenv -p `which python2.7` collapsing-thread-pool-executor-py2
$ pip install .
$ pip install -r requirements.txt

$ mkvirtualenv -p `which python3` collapsing-thread-pool-executor-py3
$ pip install .
$ pip install -r requirements.txt

Watch the testsapp

# watch python2 tests in one window
$ workon collapsing-thread-pool-executor-py2
$ find ./ -name '*.py' | entr -c py.test -v --log-level=DEBUG collapsing_thread_pool_executor

# watch python3 tests in one window
$ workon collapsing-thread-pool-executor-py3
$ find ./ -name '*.py' | entr -c py.test -v --log-level=DEBUG collapsing_thread_pool_executor

Examples

The example below will execute some_task() 100 times; as some_task() should take a second to execute and as we've allocated 10 workers, the whole thing should take about 10 seconds.python2.7

import time

from collapsing_thread_pool_executor import CollapsingThreadPoolExecutor

def some_task():
    time.sleep(1)

# all arguments are optional
pool = CollapsingThreadPoolExecutor(
    workers=10,
    thread_name_prefix='SomePool',
    permitted_thread_age_in_seconds=60,
)

for i in range(0, 100):
    pool.submit(some_task)





 Copy from pypi.org

查询时间:7.513ms
渲染时间:7.642ms

本文同步分享在 博客“zhenruyan”(other)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。ui

相关文章
相关标签/搜索