线程读写操作

import threading,random,queue
q = queue.Queue()
alist=[]
def shengchan():for i in range(10):alist.append(random.randint(1,20))q.put(alist)print('随机生成的十个数是%s'%alist)
def xiaofei():with open('xiabo.txt','w+',encoding='utf8') as f:f.write(str(q.get()))f.seek(0)c =f.read()print(c)
if __name__=='__main__':t1 = threading.Thread(target=shengchan)t2 = threading.Thread(target=xiaofei)t1.start()t2.start()

进程池相关

from multiprocessing import Pool  # 导入模块进程池
import os, time, random  # 导入windows系统,时间,随机数模块# print(random.random())
def task(name):  # name是一个形参,先分析函数功能print('任务跑在 %s (%d)...' % (name, os.getpid()))  # 打印了进程池传的参数i,还有进程编号start = time.time()  # 记录一个开始时间time.sleep(random.random() * 3)  # 随机0-3之间的数# print(random.random()*3) %s 字符串 %d 整型 %f 浮点型end = time.time()  # 结束时间print('任务 %s 跑了 %0.2f时间' % (name, (end - start)))  # 结束减去开始时间可以得出跑了多长时间算出函数运行时间if __name__ == '__main__':print('父进程是%d' % os.getpid())  # 获取当前进程编号IDp = Pool(4)  # 使用进程池类方法创建了4个进程for i in range(1, 6):  # 给4个进程分派了5个任务任务编号是1,2,3,4,5p.apply_async(task, args=(i,))  # apply_async 是异步非阻塞的。# 让进程池执行了task函数,传的参数是i# 意思就是:不用等待当前进程执行完毕,随时根据系统调度来进行进程切换。print('等待所有子进程跑完...')p.close()  # 关闭进程池,因为后边有join必须保证子进程不再乱跑# time.sleep(2)# p.join()  # 让所有的进程互相等待大家一起结束回家吃饭print('所有的子进程跑完了')

转载于:https://www.cnblogs.com/zhichao123/p/11240842.html

python_线程读写操作一相关推荐

  1. java 管道流的读写操作 用于两个线程之间的通信

    /* java 管道流的读写操作 用于两个线程之间    PipedOutputStream    PipedInputStream  连接起来就是一个管道     管道输出流可以向管道写入数据   ...

  2. java大文件读写操作

    转载自:http://blog.csdn.net/akon_vm/article/details/7429245 RandomAccessFile RandomAccessFile是用来访问那些保存数 ...

  3. 【Android 高性能音频】AAudio 音频流 读写操作 ( 音频流读写数据 | 阻塞时间设定 | 注意事项 | AAudioStream_read | AAudioStream_write )

    文章目录 I . AAudio 音频流 读写操作 简介 II . AAudio 音频流 读写操作 阻塞时间设定 III . AAudio 音频流 读取 固定帧数 操作 注意点 IV . AAudio ...

  4. QT5 文件读写操作

    QFile Class 1.read读文件 加载文件对象  QFile file("文件地址"); 打开加载的文件file.open(打开方式); 操作文件 关闭打开的文件file ...

  5. xml编辑 html_【c# .net】Xml读写操作(XmlTextReader 类)

    Xml读写操作(XmlTextReader 类) 1.XML简介 1)XML 和 HTML 的设计初衷 XML 被设计用来传输和存储数据 HTML 被设计用来显示数据 2)什么是 XML? XML 指 ...

  6. 最近总结了串口(COM)读写操作的三种方式

    最近总结了串口(COM)读写操作的三种方式: 第1种方式是采用微软在.NET2.0推出了一个串口控件,SerialPort类,但必须是.NET2.0才可以 第2种方式是用API写串口通信,虽然难度高, ...

  7. Java读写操作西门子S7系列PLC

    简介 Java实现操作西门子S7系列PLC,基于开源项目s7connect实现,使用的是基于以太网的TCP/IP实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性 ...

  8. 海康工业相机SDK + OpenCV实例(5):相机双线程读写缓存策略

    海康工业相机SDK + OpenCV实例(5): 相机双线程读写缓存策略 文章目录 海康工业相机SDK + OpenCV实例(5): 相机双线程读写缓存策略 前言 一.双线程 二.缓存区容量为2的生产 ...

  9. 重叠IO--命名管道同时进行读写操作

    弄了一整天了,总算初步完成以下功能: 创建一个命名管道作为服务器,以重叠IO的方式: 创建一个客户端,可同时启动多个客户端: 服务器线程中对接入的客户端进行同时读和写操作: 每个客户端对服务器在线程中 ...

最新文章

  1. 教程分享-Vim编辑器用法
  2. Git学习笔记03--git reset
  3. 连载《一个程序猿的生命周期》-《发展篇》 - 3.农民与软件工程师,农业与IT业...
  4. deepin--eclipse安装与配置
  5. 【Git】git的基本使用
  6. 网络登录_发布猫系统登录免费网络推广-绥芬河推广资讯
  7. c语言默认参数_5.1 C++有默认参数的函数
  8. vvv在线文档导出工具_一款真正实时的在线文档协作编辑工具,多人可同时对一份文件修改...
  9. 算法(15)-leetcode-explore-learn-数据结构-运用递归解决二叉树的问题
  10. 四、Web服务器——Session Cookie JSP入门 学习笔记
  11. 一个小白如何创建MYSQL数据表_MySQL小白扫盲(二)--建表、添加、查询
  12. cs1.5 linux服务端,CS1.5在linux上的配置
  13. python面向对象编程98讲_谈面向对象的编程(Python)
  14. 【EJB基础】开发一个简单的EJB应用程序
  15. 论文笔记:Securing Data With Blockchain and AI
  16. 【软件测试的重要性】
  17. SQL server中模式的定义和删除
  18. 荣耀9igoogle模式_创建自己的简单iGoogle小工具
  19. insert into 语句的四种写法
  20. 论文笔记:Dynamic GCN: Context-enriched Topology Learning for Skeleton-based Action Recognition

热门文章

  1. mysql按 当前时间和规定时间大小排序_为什么 MySQL 使用 B+ 树· Why#x27;s THE Design?(009)...
  2. oracle上浮下浮分析函数_Oracle分析函数简析
  3. mysql二进制日志重置_MySQL二进制日志备份和恢复详解
  4. 2100 反弹shell无法粘贴_技术成长日记-Vim实用技巧-4.6复制/删除/粘贴
  5. SpringSecurity AuthenticationManagerProviderManager
  6. java 泛型 类型形参(Type Parameters)Type Parameters 边界(Bound) 类型
  7. python __setattr__
  8. Requests redirect
  9. pytorch torch.nn.Embedding
  10. 用matlab录制声音然后进行读取和播放