Python中使用线程有两种方式:函数或者用类来包装线程对象。

第一种---------函数

菜鸟教程的我没看懂,说说我自己懂的----看视频理解的

import time
import threading def coding():
for x in range(3):
print('正在写代码:%s' % threading.current_thread()) # 获取进程名字
time.sleep(1) def drawing():
for x in range(3):
print('正在画图:%s' % threading.current_thread())
time.sleep(1) def main():
t1 = threading.Thread(target=coding) # 创建子线程 指定进程要运行的函数
t2 = threading.Thread(target=drawing) # 传递函数名 不需要带() 带()的是传递函数返回值 t1.start() # 启动进程
t2.start()
print(threading.enumerate()) #输出当前的进程数 if __name__ == '__main__':
main()

第二种----类

简单点说,就是创建一个类,然后把需要作为进程运行的内容放在run 函数中就行了,之后通过创建对象的方式创建进程

import threading
import time class CodingThread(threading.Thread):
def run(self):
for x in range(3):
print('正在写代码:%s' % threading.current_thread()) # 获取进程名字
time.sleep(1) class DrawingThread(threading.Thread):
def run(self):
for x in range(3):
print('正在画图:%s' % threading.current_thread())
time.sleep(1) def main():
t1 = CodingThread() # 通过创建对象的方式创建进程
t2 = DrawingThread() t1.start()
t2.start() if __name__ == '__main__':
main()

python 多进程的两种创建方式的更多相关文章

  1. python类的两种创建方式

    参考: https://blog.csdn.net/likunkun__/article/details/81949479

  2. 【转载】 Java中String类型的两种创建方式

    本文转载自 https://www.cnblogs.com/fguozhu/articles/2661055.html Java中String是一个特殊的包装类数据有两种创建形式: String s ...

  3. String变量的两种创建方式

    在java中,有两种创建String类型变量的方式: String str01="abc";//第一种方式 String str02=new String("abc&qu ...

  4. Android中Fragment的两种创建方式

    fragment是Activity中用户界面的一个行为或者是一部分.你可以在一个单独的Activity上把多个Fragment组合成为一个多区域的UI,并且可以在多个Activity中再使用.你可以认 ...

  5. cocos2dx 帧动画的两种创建方式

    看了好几天cocos2dx的帧动画,现在才有点眉目,为了高效期间我们一般会用到 精灵帧缓存(CCSpriteFrameCache) 和动画缓存(CCAnimationCache) .大体的操作步骤: ...

  6. java多线程总结一:线程的两种创建方式及优劣比较

    1.通过实现Runnable接口线程创建 (1).定义一个类实现Runnable接口,重写接口中的run()方法.在run()方法中加入具体的任务代码或处理逻辑. (2).创建Runnable接口实现 ...

  7. java多线程总结:线程的两种创建方式及优劣比较

    1.通过实现Runnable接口线程创建 (1).定义一个类实现Runnable接口,重写接口中的run()方法.在run()方法中加入具体的任务代码或处理逻辑. (2).创建Runnable接口实现 ...

  8. java多线程总结一:线程的两种创建方式及比较

    1.线程的概念:线程(thread)是指一个任务从头至尾的执行流,线程提供一个运行任务的机制,对于java而言,一个程序中可以并发的执行多个线程,这些线程可以在多处理器系统上同时运行.当程序作为一个应 ...

  9. Python基础:Python运行的两种基本方式

    完成Python的安装之后,我们可以开始编写Python代码以及运行Python程序了.我们来看一下运行Python具体有哪几种方式 1.REPL 所谓REPL即read.eva.print.loop ...

随机推荐

  1. Spark 中Java实现数据库Row转Rating

    Dataset<Row> ratings = mlsc.sql("SELECT user,movie,rating FROM data");JavaRDD<Row ...

  2. 【转载】C++对象成员与构造函数

    一个类的对象可以作为另一个类的数据成员,此时把该对象称为类的对象成员. 当一个类中出现对象成员时,该类的构造函数就要为对象成员初始化,对象成员的初始化必须在构造函数的初始化表中完成. 注意: 初始化对 ...

  3. python全栈开发笔记---------函数

    一 数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因 ...

  4. 在IIS托管服务中设置Rewrite重定向到webapi接口

    最近公司遇到这样一个问题.公司以前使用一个SiteServer CMS开源框架来搭建网站,是以asp.net开发的,并且托管在IIS中.其中出现了一个问题,就是用ajax访问不了这个框架后台的weba ...

  5. CEPH集群操作入门--部署和运维

    部署 预检和安装Ceph 参考 虚拟机使用ceph-deploy安装ceph 创建群集 添加/删除监视器 密钥管理 添加/删除OSD 添加/删除MDS 清除主机 管理任务   运维 操作群集 健康检查 ...

  6. JS案例六_1:添加城市

    使用的相关知识点:对子节点的添加:document.appendClild() 文本节点的创建:document.createTextNode() 元素节点的创建:document.createEle ...

  7. java 反射与其应用

    前言: 目标:对于我个人而言 我希望能由以下途径达到最终目标  清楚反射的概念以及为什么要用反射技术 -> java的反射技术 -> java反射技术涉及到的类 -> java反射技 ...

  8. C# WebAPI分页实现分享

    第一次分享代码,不足或不对之处请指正.. 需求:微信端传递不同的参数调用WebAPI进行分页查询菜谱计划点评结果 思路:基于视图来查询,根据传递的不同参数拼接分页查询Sql来查询. 分页的sql如下 ...

  9. response导出Excel(一个新手的记录,可以时常查看,以免自己忘记)

    HttpResponse response = HttpContext.Current.Response;  response.ContentEncoding = System.Text.Encodi ...

  10. Vue对Html标签应用条件渲染

    我的需求 在flag属性为true时 渲染标签的html为 <input :data-val-required="不能为空"/> 在flag属性为false时 渲染标签 ...