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. python:自动化测试 playwright 库上传和下载
  2. VS2008常用快捷键
  3. device not ready cuda
  4. java特征向量计算_用Java和Python计算特征向量的差异
  5. Vieri离开国际米兰
  6. python字典的用法_Python字典的用法详解(附示例)
  7. bootstrap 一排5个_BootStrap从基础到项目实战_第1季_03章_02_CSS样式栅格系统实例
  8. 496. 下一个更大元素 I/503. 下一个更大元素 II/739. 每日温度
  9. 55 - 算法 -动态规划 -数塔问题 感觉都是数组建模 递推方法规则
  10. c#和明华RF-35LT开发通信
  11. python的输入来源包括文件输入_【python】文件的输入和输出
  12. iis php前景,IIS下PHP的ISAPI和FastCGI比较
  13. 加拿大MSB牌照简介
  14. 联想电脑无法调节屏幕亮度
  15. Raspberry Pi使用USB摄像头远程监控
  16. 青岛大学计算机分专业吗,青岛大学热门专业有哪些?附青岛大学最低分专业名单...
  17. html5怎么写副标题,毕业论文副标题怎么写
  18. MLY -- 5.your development and test sets
  19. 多台网络分析仪自动化测试软件NSAT-1000
  20. 2009网易校园招聘笔试题

热门文章

  1. 网页静态服务器-3-使用类
  2. Python的闭包的后期绑定问题
  3. 主成分分析(PCA)-最大方差解释
  4. pytorch中查看可训练参数
  5. 本地计算机用plsql访问虚拟机中的oracle数据库
  6. LSTM TF核心实现代码笔记
  7. 开启协程_软件特攻队|GCC10发布,GCC 11将支持C++20协程功能?
  8. springboot发送邮件_SpringBoot发送邮件如何实现,SpringBoot发送邮件详解(附代码)...
  9. 解决方法:AttributeError: module ‘torchtext.data‘ has no attribute ‘Field‘
  10. 网络爬虫中的模拟登陆获取数据(实例教学1)