1.多线程:

多线程是为了同步完成多项任务,不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。线程是在同一时间需要完成多项任务的时候实现的。

最简单的比喻多线程就像火车的每一节车厢,而进程则是火车。车厢离开火车是无法跑动的,同理火车也不可能只有一节车厢。多线程的出现就是为了提高效率。同时它的出现也带来了一些问题。

线程与进程的关系:

进程就是一个应用程序在处理机上的一次执行过程,它是一个动态的概念,而线程是进程中的一部分,进程包含多个线程在运行。一个程序运行至少一个进程,一个进程里面至少包含一个线程,线程是进程的组成部分。

2.threading模块的简单使用:

import threading
import time
def coding():for x in range(3):print('正在写代码...')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()

  

3.使用Thread类创建多线程:

为了让线程代码更好的封装。可以使用threading 模块下的Thread类,继承自这个类,然后实现run 方法。线程就会自动运行run方法中的代码。

import threading
import timeclass 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()

  

转载于:https://www.cnblogs.com/zyde-2893/p/11291784.html

多线程介绍与threading模块应用以及使用Thread类创建多线程相关推荐

  1. Java继承Thread类创建多线程

    Java继承Thread类创建多线程 单线程示例 示例,Example01.java public class Example01{public static void main(String[] a ...

  2. 多线程Thread类创建多线程

    package com.ajax; //多线程Thread类创建多线程 public class Example02 {public static void main(String[] args){n ...

  3. python 测试 多线程 _thread和threading模块 线程同步,线程优先级队列

    文章目录 python 多线程简介 Python中使用线程的两种方式 1.函数式 示例 2.线程模块 示例 线程同步 示例 线程优先级队列( Queue)[暂时没用到,没仔细看] 示例 其他 thre ...

  4. 29-30Python多线程、多线程、使用threading模块创建线程;JSON数据解析、编码为JSON类型转换对应表、Python类型转换对应表、json.dumps与json.loads

    29Python3多线程 多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理. 用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些 ...

  5. 多线程之继承Thread类及多线程内存分析

    *创建多线程的一种方式:继承Thread类 * java.lang.Thread是描述多线程的类,要实现多线程程序,一种方式就是继承Thread类 * 1.创建一个类Mythread让其extends ...

  6. python_day29_通过类创建多线程_队列

    #Author:'haijing'#date:2018/12/20import threadingimport time#通过类创建多线程 class MyThread(threading.Threa ...

  7. 继承Thread类使用多线程

    java实现多线程有两种方式,一种是继承Thread类,另外一种就是实现Runnable接口. 两种实现方法的优缺点: 使用Thread类实现多线程局限性就是不支持多继承,因为java是不支持类多继承 ...

  8. 多线程Runnable类创建多线程

    package com.ajax; //多线程Runnable类创建多线程 public class Example01 {public static void main(String [] args ...

  9. java thread 多线程_java用Thread方式创建多线程

    进程:一个正在执行的程序,每一个进程都有一个执行顺序,该 顺序是一个执行路径,或者叫一个控制单元. 线程:进程中一个独立的控制单元.线程控制着进程的执行. 一个进程中至少有一个线程. java VM中 ...

最新文章

  1. 【JavaScript】JavaScript基础-变量、运算符与控制语句
  2. POJ 2187 Beauty Contest( 凸包求最远点对 )
  3. python在线工具-6 种 Python 数据可视化工具
  4. 现代密码学2.4--香农定理/Shannon Theorem:完美安全的充分必要条件
  5. Android之Activity **** has leaked window android.widget.PopupWindow$PopupDecorView that was originall
  6. 一步一步写STL:空间配置器(1)
  7. UpdateProgress控件
  8. 程序员如何成为编程高手并以此创业
  9. 不能包含全角 正则_java常用正则表达式
  10. js保留n位小数——toFiexed()
  11. 图解Linux网络虚拟化相关的虚拟网卡-VETH/MACVLAN/MACVTAP/IPVLAN
  12. php中读取session,php中如何注册和读取Session会话
  13. 本科大学计算机专业排名2015,2015年美国大学本科计算机专业排名
  14. matlab张正友摄像机标定算法应用,张正友摄像机标定的研究(MATLAB+OpenCV)
  15. while 循环语法结构
  16. OpenCV学习日记(2)
  17. 服务器打死了怎么修复,yum把自己搞死了 然后又把服务器弄死了(yum命令卡死的解决办法)...
  18. 云ERP有什么优势?功能有哪些?
  19. [usaco 2009 dec]游荡的奶牛
  20. 我对北理FTP联盟的建议

热门文章

  1. 聚合 aggregate
  2. IDEA创建包含多个module的Maven工程
  3. 【C++】带空格输入
  4. AlexNet层级分析(涉及:卷积核操作下下层网络特征图size计算;对通道和卷积核尺寸及通道前层feature map和卷积核的运算关系的解释)
  5. 常用web服务列表(三)
  6. 漫步数理统计六——条件概率与独立(下)
  7. 漫步线性代数十三——线性变换
  8. Ubuntu中Python3找不到_sqlite3模块
  9. leetcode - 63. 不同路径 II
  10. Jetson TX2板载相机opencv调用打开