美文网首页
python多任务之——线程简述

python多任务之——线程简述

作者: 是落阳呀 | 来源:发表于2019-12-03 12:41 被阅读0次

python多线程复习

无论你使用什么语言,多线程一直都有着举足轻重的地位,只要线程开得多,任务还能凑几桌(头发还得不停脱),哈哈哈开个玩笑。那么何谓多线程?

import time


def sing():
    """唱歌 5秒钟"""
    for i in range(5):
        print("------正在唱:妹妹你大胆滴往前走啊------")
        time.sleep(1)


def dance():
    """跳舞 5秒钟"""
    for i in range(5):
        print("------正在跳舞------")
        time.sleep(1)


def main():
    sing()
    dance()


if __name__ == '__main__':
    main()

我们的程序默认只有一个主线程,主线程一条一条语句执行,于是上面这串代码的结果是这样的


单任务

接下来我们简单的加上一个进程

import time
import threading


def sing():
    """唱歌 5秒钟"""
    for i in range(5):
        print("------正在唱:妹妹你大胆滴往前走啊------")
        time.sleep(1)


def dance():
    """跳舞 5秒钟"""
    for i in range(5):
        print("------正在跳舞------")
        time.sleep(1)


def main():
    t1 = threading.Thread(target=sing)
    t2 = threading.Thread(target=dance)
    t1.start()
    t2.start()


if __name__ == '__main__':
    main()

立马鸟枪换炮


多进程

以上就是实现了两个进程同时运行的效果

这里说一下原理:
我们平时写程序,算法和数据结构之类的,都没有用到多进程,程序默认就只有一个线程——主线程,这个主进程从起点向下一条一条执行语句,如果是c类语言就从main函数开始执行,一条一条的来。当我们加入多任务之后,主线程只要执行到产生多线程的语句就会创造出子线程来,在我这个程序中就是这里

t1 = threading.Thread(target=sing)
t2 = threading.Thread(target=dance)
t1.start()
t2.start()

当执行到第一句的话,马上就创建一个子线程跑到target, 即sing函数那里去待命,同理,主线程到了t2那里也会创建出一个子线程跑到dance函数那里去待命,当主线程一执行到start()函数的时候,早已蓄势待发的子线程马上开始它的任务。

注意!主线程会等待子线程,也就是说当子线程的任务还没执行完的时候,主线程是不能退出程序的,因为只要主线程一挂掉,子线程一个都不能活。

今天就先到这里。
谢谢你来看我!!你的关注对我非常重要!

相关文章

  • python多任务之——线程简述

    python多线程复习 无论你使用什么语言,多线程一直都有着举足轻重的地位,只要线程开得多,任务还能凑几桌(头发还...

  • Python多任务之——线程和进程(二)

    Python多任务之——线程和进程(二) 接着前一篇文章的内容,这篇文章我们来介绍python如何创建多线程、多进...

  • Python多线程多进程

    Python多线程多进程 QUICK START 1.[endif]进程和线程 1.1系统多任务机制 多任务操作的...

  • python多任务之线程

    线程概述 多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台...

  • Python ☞ day 15

    Python学习笔记之 进程和线程 多任务的原理 现代操作系统(Windows、Mac OS X、Linux、UN...

  • python多任务 线程

    什么叫“多任务”呢?简单地说,就是操作系统可以同时运行多个任务。打个比方,你一边在用浏览器上网,一边在听MP3,一...

  • python多任务--线程

    一、基本概念 什么是线程 线程(Thread)也叫轻量级进程,是操作系统能够进行运算调度的最小单位,它被包涵在进程...

  • Python多任务-线程

    一个简单的线程 打印当前所有线程 线程执行代码的封装 通过使用threading模块能完成多任务的程序开发,为了让...

  • Python多任务_线程

    简单使用 多线程共享全局变量-互斥锁

  • python多任务-线程

    python的thread模块是比较底层的模块,python的threading模块是对thread做了一些包装的...

网友评论

      本文标题:python多任务之——线程简述

      本文链接:https://www.haomeiwen.com/subject/fhjcgctx.html