一、理论

(一)

(1)多线程是Python程序中实现多任务的一种方式
(2)线程是程序执行的最小单位.

(3)同属一个进程的多个线程共享进程所拥有的全部资源.

(二)进程和线程对比

(1)关系对比:

a、线程依附在进程里面的,没有进程就没有线程。

b、一个进程默认提供一条线程,进程可以创建多个线程

(2)区别对比:

a、创建进程的资源开销要比创建线程的资源开销要大

b、进程是操作系统资源分配的基本单位,线程是cpu调度的基本单位

c、线程不能独立执行,必须依存在进程中

(3)优缺点对比

a、进程优缺点:

优点:可以用多核

缺点: 资源开销大

b、线程优缺点:

优点:资源开销晓

=================================

缺点:不能使用多核

二、实战·

1.导入线程模块
import threading
2.通过线程类创建线程对象
线程对象= threading.Thread(target=任务名)
3.启动线程执行任务
线程对象.start()

三、知识点:

(一)主线程会等待所有的子线程执行结束再结束,除非设置子线程守护主线程
设置守护主线程有两种方式:
1.threading.Thread(target=work, daemon=True)

2.线程对象.setDaemon(True)

(二)线程间执行顺序

1、线程之间执行是无序的

最新文章

  1. Python爬虫入门一之综述
  2. 【BZOJ-1367】sequence 可并堆+中位数
  3. MANIFEST.MF的用途(转载)
  4. ubuntu 无声音的解决
  5. C2第六次作业解题报告
  6. 0c-36-自动释放池应用场景
  7. swing画太极图案源码
  8. EJBCA 在windows上的安装
  9. 【deep learning学习笔记】最近读的几个ppt(四)
  10. usaco training 4.2.3 Job Processing 题解
  11. 第一个ExtJS练习(添加用户面板)
  12. Minimum Inversion Number~hdu 1394
  13. 一个简单的基于 DirectShow 的播放器 1(封装类)
  14. [Swift]LeetCode87. 扰乱字符串 | Scramble String
  15. Java课堂测试——一维数组
  16. 爱因斯坦求和约定 (Einstein summation convention)
  17. 《高性能JavaScript》--读书笔记
  18. 剑指Offer-- 之字形顺序打印二叉树
  19. Paper | 块分割信息 + 压缩视频质量增强
  20. uniGUI试用笔记(十)

热门文章

  1. [C++]什么是POD?
  2. 超详细版本vue+capacitor(自定义capacitor插件)编写移动端应用
  3. 内存概述-java虚拟机的内存划分
  4. Flutter入门资料推荐
  5. mysql 错误解决大法 Specified key was too long; max key length is 767 bytes
  6. 《Terraform 101 从入门到实践》 Terraform在公有云GCP上的应用
  7. JAVA虚拟机15---虚拟机的类加载机制
  8. ECharts 提示框组件Tooltip属性大全(包含文本注释)
  9. Hystrix断路器
  10. rt-thread模糊到清晰系列: timer.c