Python微线程如何在Stackless环节中使用

开发 后端
Python微线程在很多环境中都有应用,但是我们需要不段的解决相关技术问题。下面我们就来详细的介绍相关的代码以便大家学习。

使用Python微线程需要我们不断的学习,有些问题一直在困扰着我们,下面我们就来详细的看看相关技术问题如何解决,以及解决中的一些小技巧。希望大家有所收获。

使用Stackless Python的内置模块stackless也可以完成多线程编程,使用起来更加方便。以下S_P_C.py脚本将前边生产者与消费者的代码改写为Stackless版,代码更加简洁。

 

# -*- coding:utf-8 -*-   
# file: S_P_C.py   
#   
import stackless # 导入stackless模块   
import Queue # 导入Queue模块   
def Producer(i): # 定义生产者   
global queue # 声明为全局Queue对象   
queue.put(i) # 向队列中添加数据   
print 'Producer',i, 'add',i   
def Consumer(): # 定义消费者   
global queue   
i = queue.get() # 从队列中取出数据   
print 'Consumer',i, 'get',i   
queue = Queue.Queue() # 生成队列对象   
for i in range(10):   
stackless.tasklet(Producer)(i) # 添加生产者任务   
for i in range(10):   
stackless.tasklet(Consumer)() # 添加消费者任务   
stackless.run() # 执行任务   
运行脚本后输出如下所示。   
Producer 0 add 0   
Producer 1 add 1   
Producer 2 add 2   
Producer 3 add 3   
Producer 4 add 4   
Producer 5 add 5   
Producer 6 add 6   
Producer 7 add 7   
Producer 8 add 8   
Producer 9 add 9   
Consumer 0 get 0   
Consumer 1 get 1   
Consumer 2 get 2   
Consumer 3 get 3   
Consumer 4 get 4   
Consumer 5 get 5   
Consumer 6 get 6   
Consumer 7 get 7   
Consumer 8 get 8   
Consumer 9 get 9  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.

以上就是对Python微线程应用的相关介绍,希望大家有所收获。

【编辑推荐】

  1. Python next函数实际操作教程
  2. Python正则表达式的几种匹配方法
  3. Python语言使用特点介绍
  4. 探究Python性能为什么如此的强大
  5. Python编程语言在未来的发展趋势
责任编辑:张浩 来源: 博客园
相关推荐

2022-06-23 08:00:53

PythonDateTime模块

2025-01-20 08:40:00

Python对象

2010-03-10 14:03:41

python处理文本

2024-01-18 08:37:33

socketasyncio线程

2015-08-27 09:46:09

swiftAFNetworkin

2021-06-09 09:36:18

DjangoElasticSearLinux

2021-03-09 07:27:40

Kafka开源分布式

2022-05-17 08:25:10

TypeScript接口前端

2011-08-10 09:31:41

Hibernateunion

2019-09-16 19:00:48

Linux变量

2020-11-30 11:55:07

Docker命令Linux

2014-07-02 09:47:06

SwiftCocoaPods

2024-09-06 11:34:15

RustAI语言

2020-04-09 10:18:51

Bash循环Linux

2023-12-01 09:18:27

AxiosAxios 库

2022-10-25 09:07:28

Linuxxargs命令

2021-09-10 10:30:22

Java代码

2015-11-26 10:57:56

DockerOpen vSwitc

2024-11-04 15:30:43

Python装饰器函数

2024-12-25 15:09:38

Python字符串函数
点赞
收藏

51CTO技术栈公众号