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

1.多线程:

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

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

线程与进程的关系:

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

 

2.threading模块的简单使用:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

import threading

import time

def coding():

    for in range(3):

        print('正在写代码...')

        time.sleep(1)

def drawing():

    for 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方法中的代码。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

import threading

import time

 

class CodingThread(threading.Thread):

    def run(self):

        for in range(3):

            print('正在写代码%s' % threading.current_thread())

            time.sleep(1)

 

class DrawingThread(threading.Thread):

    def run(self):

        for 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()

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值