python_day10 多线程 协程 IO模型
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python_day10 多线程 协程 IO模型,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2063字,纯文字阅读大概需要3分钟。
内容图文
多线程
协程
IO模型
多线程
# 线程的PID与主进程PID一致 from threading import Thread from multiprocessing import Process import os def task(): print(‘%s is running‘ %os.getpid()) if__name__ == ‘__main__‘: t1=Thread(target=task,) t2=Thread(target=task,) # t1=Process(target=task,)# t2=Process(target=task,) t1.start() t2.start() print(‘主‘,os.getpid())
# 多线程共享一个进程内的资源 from threading import Thread from multiprocessing import Process n=100 def work(): global n n=0 if__name__ == ‘__main__‘: # p=Process(target=work,)# p.start()# p.join()# print(‘主‘,n) t=Thread(target=work,) t.start() t.join() print(‘主‘,n)
# 开启线程的两种方式 # 开启线程的方式一:使用替换threading模块提供的Thread from threading import Thread from multiprocessing import Process def task(): print(‘is running‘) if__name__ == ‘__main__‘: t=Thread(target=task,) # t=Process(target=task,) t.start() print(‘主‘) #开启线程的方式二:自定义类,继承Threadfrom threading import Thread from multiprocessing import Process class MyThread(Thread): def__init__(self,name): super().__init__() self.name=name def run(self): print(‘%s is running‘ %self.name) if__name__ == ‘__main__‘: t=MyThread(‘egon‘) # t=Process(target=task,) t.start() print(‘主‘)
# 多线程共享同一进程内地址空间的练习 # 三个任务,一个接收用户输入,一个将用户输入的内容格式化成大写,一个将格式化后的结果存入文件 from threading import Thread msg_l=[] format_l=[] def talk(): while True: msg=input(‘>>: ‘).strip() msg_l.append(msg) def format(): while True: if msg_l: data=msg_l.pop() format_l.append(data.upper()) def save(): while True: if format_l: data=format_l.pop() with open(‘db.txt‘,‘a‘) as f: f.write(‘%s\n‘ %data) if__name__ == ‘__main__‘: t1=Thread(target=talk) t2=Thread(target=format) t3=Thread(target=save) t1.start() t2.start() t3.start()
# Thread对象其他相关的属性或方法 from threading import Thread,activeCount,enumerate,current_thread import time def task(): print(‘%s is running‘ %current_thread().getName()) time.sleep(2) if__name__ == ‘__main__‘: t=Thread(target=task,) t.start() t.join() print(t.is_alive()) print(t.getName()) print(enumerate()) print(‘主‘) print(activeCount())
协程
IO模型
原文:http://www.cnblogs.com/liweijing/p/7476135.html
内容总结
以上是互联网集市为您收集整理的python_day10 多线程 协程 IO模型全部内容,希望文章能够帮你解决python_day10 多线程 协程 IO模型所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。