每个项目的线程和多处理。
lox的Python项目详细描述
线程和多处理变得容易。
- 自由软件:麻省理工学院许可证
- 文档:https://lox.readthedocs.io。
lox提供装饰器和同步原语以快速添加 项目的并发性。
安装
pip3 install –user lox
功能
- multi-hreading:功能强大、直观的多线程处理,只需另外两行代码。
- 多处理:使用与多线程相同的接口真正并行的函数执行。
- 同步:高级线程同步、通信和资源管理工具。
待办事项
- 除了lox.process之外的所有对象都用于线程。这些最终将是多进程友好的。
- 将分散调用链接到多个工作池
用法
轻松多线程
>>> import lox >>> >>> @lox.thread(4) # Will operate with a maximum of 4 threads ... def foo(x,y): ... return x*y >>> foo(3,4) # normal function calls still work 12 >>> for i in range(5): ... foo.scatter(i, i+1) -ignore- >>> # foo is currently being executed in 4 threads >>> results = foo.gather() # block until results are ready >>> print(results) # Results are in the same order as scatter() calls [0, 2, 6, 12, 20]
简单的多处理
>>> import lox >>> >>> @lox.process(4) # Will operate with a pool of 4 processes ... def foo(x,y): ... return x*y >>> foo(3,4) # normal function calls still work 12 >>> for i in range(5): ... foo.scatter(i, i+1) -ignore- >>> # foo is currently being executed in 4 processes >>> results = foo.gather() # block until results are ready >>> print(results) # Results are in the same order as scatter() calls [0, 2, 6, 12, 20]
历史记录
0.6.1(2019-07-21)
- 修复lox.process中的内存泄漏。
0.6.0(2019-07-21)
- lox.Announcementsubscribe()调用现在返回另一个Announcement 对象的行为类似于队列而不是实际队列。允许 多队列到多队列通信。
- 新对象:lox.Funnel。允许在多个队列上等待 由作业ID指示的一组输入。
0.5.0(2019-07-01)
- 新对象:lox.Announcement。允许一对多线程队列 backlog支持,以便后期订阅者仍然可以获得全部(或最新的) 订阅前的公告。
- 新功能:lox.threadscatter调用现在可以链接在一起。 scatter现在返回一个int子类,该子类包含允许 链子。每个散列调用最多可有1个先前的^ {TT9}$$结果。
- 文档更新、主题化和徽标
0.4.3(2019-06-24)
- 垃圾回收缓存的修饰对象方法
0.4.2(2019-06-23)
- 修复了多个实例以及对包装方法的连续分散和聚集调用
0.4.1(2019-06-23)
- 修复了损坏的工人和工人的单元测试
0.4.0(2019-06-22)
- 半中断更改:lox.thread和lox.process现在自动通过 修饰方法时的对象实例。
0.3.4(2019-06-20)
- 线程崩溃时以红色打印回溯
0.3.3(2019-06-19)
- 修复在空队列上lox.thread double releases中的线程分散的错误
0.3.2(2019-06-17)
- 从控制盘修复安装清单
0.3.1(2019-06-17)
- 在pypi上修复包
0.3.0(2019-06-01)
- 多进程装饰器。lox.pool重命名为lox.thread
- 实质性的pytest错误修复
- 文档示例
- rwlock超时
0.2.1(2019-05-25)
- 修复indexSemaphore上下文管理器
0.2.0(2019-05-24)
- 添加了qlock
- 文档语法修复
0.1.1(2019-05-24)
- cicd测试
0.1.0(2019-05-24)
- pypi上的第一个版本。