Python 3基础教程38-threading和创建一个线程

       前面几篇是介绍tkinter GUI编程的,我想这个有时间得出一个系列的,比较完整能够入门的教程。好了本文介绍threading模块,中文的意思是线程。要说线程,你第一反应应该是听说过进程。在电脑里,强制关闭那个程序,就要杀掉哪个对应的进程。作为测试人员来讲,线程基本上没有接触过的。我也没有线程的相关基础知识,我一开始去百度百科,看了下线程。说线程是一个轻量级的进程,多个线程共享进程的资源。线程是CPU能够调度的最小单位,等等,这些概念,把我搞晕,无从下手的感觉。

1. 什么是线程

       这里不说专业计算机词语解释,举例来解释线程。一份工作,可以一个人,给他足够时间,他一定能够完成;也可以找多个人,短期内完成。这里一个人人干完一个或,就好比单线程工作模式,多个人同时干完一份工作,就叫多线程模式,只是在多线程模式下,一个任务被划分成多个子任务,然后这些子任务分别被不同的线程给完成了。关于线程我们就先通过这样通俗解释,理解就好。我们先不管多线程,先学习下单线程。

2. 先了解一个概念

import threading


def exampleFun():

    # 打印当前激活的线程数量
    print(threading.active_count())

    # 查看上面激活的线程是哪几个
    print(threading.enumerate())

# 调用函数执行
exampleFun()
       我们在使用线程之前,需要导入相关lib,这个lib我们用threading。上面我们先了解线程的两个函数,第一个是计算当前一共有多少个激活的线程,第二个方法是显示激活线程是那些。运行一下,看下结果输出。
================ RESTART: C:/Users/Anthony/Desktop/thread1.py ================
2
[<_MainThread(MainThread, started 5548)>, <Thread(SockThread, started daemon 5768)>]
>>> 
1)显示我当前有两个激活的线程。

2)打印这两个激活线程,_MainThread,表示一个主线程,后面第二个是这个主线程的子线程,多个线程中,只能有一个主线程。

3. 如何创建一个线程

import threading


def exampleFuc():
    added_thread = threading.Thread(target=thread_job)
    added_thread.start()
   

def thread_job():
    print('这是一个添加的线程,系列号是%s' % threading.current_thread())


exampleFuc()
        上面的exampleFuc()是一个普通函数,这个函数里面创建了一个线程,可以创建多个,定义了哪个线程干什么工作。target=thread_job,thread_job是我们定义的一个具体干活的函数,target就是目标,这里就是告诉这个新建的线程,需要做什么工作。记住,不要写成这样target=thread_job(),这里带了小括号是不对的。thread.start(),表示运行这个线程。这里,执行了一次线程,就打印一次线程的名称。效果如下

这是一个添加的线程,系列号是<Thread(Thread-1, started 5164)>



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值