一 threading模块介绍

multiprocess模块的完全模仿了threading模块的接口,二者在使用层面,有很大的相似性

二 开启线程的两种方式

第一种

每造一个进程,默认有一个线程,就是主线程。

进程要想执行,要先造一个主线程,然后由这个进程内的线程去运行代码

from threading import Thread
import time def task(name): print("%s is running" % name)
time.sleep(3)
print("%s is done" % name) if __name__ == "__main__": # 实例化
# args 为函数传参数
t = Thread(target=task, args=("子线程1",))
# 开启子线程
t.start() # 仅仅只是给操作系统发送一个信号 与平常print没有什么区别 print("主线程") '''
子线程1 is running
主线程
子线程1 is done
'''

上面程序开启了一个进程,两个线程,一个主线程,一个子线程。 主线程给操作系统发送信号,开启子线程

第二种

自己写一个子类去继承他
from threading import Thread
import time # 自己写一个子类去继承他 不用默认的类
# Thread的类传进去 class MyThread(Thread): # 重写了init方法 父类就被覆盖掉
def __init__(self, name): # 重用父类 因为父类还有很多有用功能,继承父类
super().__init__()
self.name = name # 方法一定要写run
def run(self):
print("%s is running" % self.name)
time.sleep(3)
print("%s is done" % self.name) if __name__ == "__main__": # 实例化 直接用自己自定义的类开子线程
# args 为函数传参数
t = MyThread("子线程")
#t 开启子线程
t.start() # 仅仅只是给操作系统发送一个信号 与平常print没有什么区别 # t.start() 本质是调用run方法
print("主线程") '''
子线程 is running
主线程
子线程 is done
'''

编写一个简单的文本处理工具,具备三个任务,一个接收用户输入,一个将用户输入的内容格式化成大写,一个将格式化后的结果存入文件

'''
需求:
编写一个简单的文本处理工具,具备三个任务,一个接收用户输入,一个将用户输入的内容格式化成大写,一个将格式化后的结果存入文件
''' import json num = input_user = input(">>>:").strip()
num = num.upper() with open("1.txt", "w") as f:
json.dump(num, f)

最新文章

  1. Module Zero之Nuget包
  2. VBA嘘嘘嘘(1)——将Excel数据填入到已存在的Word模板表格(实例应用)
  3. [Tools] Eclipse更改类注释自动生成模板
  4. 随手写的自动批量编译部署NativeAndroid程序Python脚本
  5. Using newInstance() to Instantiate a Fragment(转)
  6. SharePoint 2013 error The given assembly name or codebase System.ServiceModel.dll was invalid
  7. knockout简单实用教程2
  8. 一次ORA-03113错误解决
  9. pig中使用的一些实例语法
  10. win10 uwp 圆角按钮
  11. Maven-12: 插件解析机制
  12. python自动重试第三方包retrying
  13. 爬取github项目。
  14. Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用
  15. 洛谷P4606 [SDOI2018]战略游戏 [广义圆方树]
  16. 【新题】ocp 062 2019年考试新题-3
  17. php5.5过渡--mysql连接
  18. jquery最精简的全选反选功能
  19. Abstract Factory(抽象工厂)
  20. 《DSP using MATLAB》示例 Example 10.1

热门文章

  1. 【JavaWeb】之Servlet
  2. C#定时任务之FluentScheduler
  3. QT Creator 添加Lib库
  4. Open Cascade 转化为OpenSceneGraph中的Mesh
  5. TTTTTTTTTTTT POJ 2112 奶牛与机器 多重二分匹配 跑最大流 建图很经典!!
  6. CodeForces 1245D Shichikuji and Power Grid
  7. 2-sat基础详解
  8. F - Almost Sorted Array
  9. String Compression
  10. mysql 日期转换sql函数