![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python多任务
python_ID
这个作者很懒,什么都没留下…
展开
-
yield实现多任务演示
代码 import time def task1(): """任务1函数""" i = 0 while True: print("-----in task1-----") time.sleep(1) # 主程序中通过next()拿到yield后面的值 # 生成器对象.send(“发送的数据”),这时发送的数据传递到yield,当做yield的返回值 result = yield i i原创 2020-09-05 19:51:37 · 191 阅读 · 0 评论 -
Python迭代器的应用
代码 class Fibonacci(object): def __init__(self, number): self.x = 0 self.y = 1 # 迭代器循环次数记录 self.current_number = 0 # 要计算的斐波那契数列的个数 self.all_number = number def __iter__(self): """可迭代对象, 返回本身作原创 2020-08-31 23:20:59 · 188 阅读 · 0 评论 -
使用进程池和队列,完成文件夹拷贝案例
代码 # 使用进程池和队列,完成文件夹拷贝案例 # 在脚本同级目录下有个test文件夹, 里面只放了许多文本文件, 没有第二级目录 # 多进程 import multiprocessing import os def copy_file(file_name, source_folder, target_folder, queue): """ 完成拷贝任务 :param file_name: 需要拷贝的文件名 :param source_folder: 源文件夹原创 2020-08-31 15:02:36 · 170 阅读 · 0 评论 -
在父进程中创建两个子进程,一个往Queue里写数据,一个从Queue里读数据
代码 # 在父进程中创建两个子进程, # 一个往Queue里写数据,一个从Queue里读数据 import multiprocessing # 创建一个队列, 里面最大存3个消息 queue = multiprocessing.Queue(3) def write_queue(q): # 模拟数据 data = [i for i in range(10)] # 循环往队列中存数据, 当存满时, 默认堵塞 for msg in data: # 往队列中存原创 2020-08-31 00:06:53 · 618 阅读 · 0 评论 -
定义一个全局的列表,把这个列表,分别传到两个子进程中,其中一个子进程修改,之后打印,另外一个进程,不修改,仅仅打印
代码 # 编程实现:定义一个全局的列表,把这个列表, # 分别传到两个子进程中,其中一个子进程修改, # 之后打印,另外一个进程,不修改,仅仅打印 import multiprocessing global_list = [100] def modify_list(g_list): g_list.append(200) print("in modify_list function, global_list is {}".format(g_list)) def show_list原创 2020-08-31 00:02:23 · 229 阅读 · 0 评论 -
多线程代码练习题
代码 """ 1、 使用多线程在终端中打印“hello,world” + 线程名字. 2、 使用多线程实现:全局变量 g_num=0,使用一个线程,把g_num的值加10次1, 然后主线程等待1秒,另外一个线程把g_num的值加10次1 3、 使用互斥锁完成2个线程对同一个全局变量各加100万次的操作 4、 编写多线程udp聊天器,子线程负责显示接收到的数据,主线程负责获取键盘的数据并发送 """ import threading import time # 1.使用多线程在原创 2020-08-29 11:39:05 · 598 阅读 · 0 评论