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. [NOIP2013D1]

    T1 Problem 洛谷 Solution 感觉我写的也不是正解... 我是先找出每个循环节的长度l...然后用快速幂求出10 ^ k % l的值.. Code #include<cmath& ...

  2. php实现遍历目录

    用递归方法实现目录的遍历: <?php header("Content-type: text/html; charset=utf-8"); date_default_time ...

  3. 使用该方法在ubuntu下安装flashplayer的rpm包

    Ubuntu的软件包格式是deb,如果要安装rpm的包,则要先用alien把rpm转换成deb. sudo apt-get install alien #alien默认没有安装,所以首先要安装它 su ...

  4. ng-repeat 中的track by

    <div style="font-size:15px"ng-repeat="item in groups.items track by $index"&g ...

  5. HTML网页音频控制

    // 音频播放function playSound(url) { var borswer = window.navigator.userAgent.toLowerCase(); var audio; ...

  6. 常用的数学函数-S

    // abs — 获取[数值]的绝对值 $; echo abs($int).'<br>'; $float=-2.34; echo abs($float).'<hr>'; //c ...

  7. 伪Ajax-iframe

    由于HTML标签的iframe标签具有局部加载内容的特性,所以可以使用其来伪造Ajax请求. <!DOCTYPE html> <html lang="en"> ...

  8. 动态流程图关于jointJs的使用

    这段时间由于业务需要,需要展现动态的流程图.具体实现效果如图所示: jointJS中的线条以及框都是依赖SVG进行的二次开发.建议初学者先学习svg里相关属性,便于在阅读jointJs的API或者de ...

  9. ubuntu16.04运行ros的时候编译工作空间catkin_make出现的一个问题Could not find a package configuration file provided by

    最近在进行ros里面的gazebo仿真之前需要对自己创建的工作空间进行编译,但是进行编译的时候输入catkin_make出现如下错误提示 查阅ROS问答社区之后发现两个比较有用的链接,如下 https ...

  10. 三星S8相机黑画面解决

    最近手机刷机卸载系统软件后有遇到相机黑化面不能工作的情况,同时闪光灯也无法开启,人脸识别也无法使用.具体情况如下图. 后来接上电脑打开logcat,发现相机相关的错误,说libquramresize. ...