1.用 threading.Thread 直接在线程中运行函数
import time
import threading
def thread_run(name):
print(“%s’s first thread!!!”% name)
time.sleep(5)
mike = threading.Thread(target=thread_run, args=(‘Mike’, ))
jone = threading.Thread(target=thread_run, args=(‘jone’, ))
mike.start()
jone.start()
2.通过继承 threading.Thread 类 来创建线程
import time
import threading
class mythread(threading.Thread):
def init(self, name):
threading.Thread.init(self)
self.name = name
def run(self):
print(“%s’s first thread!!!”% self.name)
time.sleep(5)
mike = mythread(‘mike’)
jone = mythread(‘jone’)
mike.start()
jone.start()
线程threading.Thread实例常用方法
可以通过help(threading.Thread)查看线程实例所有方法
1.start()
help解释:Start the thread’s activity
启动线程
2.join()
help解释:Wait until the thread terminates
阻塞线程直至线程终止,然后在继续运行
‘’’
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
‘’’
import time
import threading
def thread_run(name):
time.sleep(2)
print(“%s’s first thread!!!”% name)
mike = threading.Thread(target=thread_run, args=(‘Mike’, ))
jone = threading.Thread(target=thread_run, args=(‘jone’, ))
mike.start()
jone.start()
mike.join() #阻塞子线程mike直到mike线程执行完毕
jone.join() #阻塞子线程jone直到jone线程执行完毕
print(‘main thread is running!!!’)
执行结果:
jone’s first thread!!!
Mike’s first thread!!!
main thread is running!!!
如果上面列子不执行join(),主线程先执行,然后才会执行子线程mike和jone
import time
import threading
def thread_run(name):
time.sleep(2)
print(“%s’s first thread!!!”% name)
mike = threading.Thread(target=thread_run, args=(‘Mike’, ))
jone = threading.Thread(target=thread_run, args=(‘jone’, ))
mike.start()
jone.start()
#mike.join() #阻塞子线程mike
#jone.join() #阻塞子线程jone
print(‘main thread is running!!!’)
执行结果:
main thread is running!!!
jone’s first thread!!!
Mike’s first thread!!!
3. isAlive = is_alive(self)
help解释:Return whether the thread is alive.
这个方法用于判断线程是否运行。
-
当线程未调用 start()来开启时,isAlive()会返回False
-
但线程已经执行后并结束时,isAlive()也会返回False
‘’’
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
‘’’
import time
import threading
def thread_run(name):
time.sleep(2)
print(“%s’s first thread!!!”% name)
mike = threading.Thread(target=thread_run, args=(‘Mike’, ))
jone = threading.Thread(target=thread_run, args=(‘jone’, ))
mike.start()
jone.start()
print(‘isAlive status: %s’% mike.isAlive())
print(‘is_alive status: %s’ %mike.is_alive())
print(‘main thread is running!!!’)
执行结果:
isAlive status: True
is_alive status: True
main thread is running!!!
Mike’s first thread!!!
jone’s first thread!!!
4. name
help解释:A string used for identification purposes only.
name属性表示线程的线程名 默认是 Thread-x x是序号,由1开始,第一个创建的线程名字就是 Thread-1
import time
import threading
def thread_run(name):
print(“%s’s first thread!!!”% name)
time.sleep(5)
mike = threading.Thread(target=thread_run, args=(‘Mike’, ), name=‘Thread-mike’) #name设置线程名
jone = threading.Thread(target=thread_run, args=(‘jone’, )) #默认线程name是Thread-X
mike.start()
jone.start()
print(mike.name) #打印线程名
print(jone.name) #打印线程名
执行结果:
Mike’s first thread!!!
jone’s first thread!!!
Thread-mike
Thread-1
5. setName()
用于设置线程的名称name
‘’’
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
工具都帮大家整理好了,安装就可直接上手!
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试宝典
简历模板![在这里插入图片描述](https://img-blog.csdnimg.cn/646863996ac44da8af500c049bb72fbd.png#pic_center)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!