什么是线程:
线程就是在已经开辟出来的一个进程空间当中,共享使用当前的内存空间。其原理和进程差不多,但是开销比进程少,因为不需要重新开辟新的内存空间。所以,进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才是cpu上的执行单位。
开启线程方式一:
from threading import Thread import time def task(name): print('%s is running' % name) time.sleep(2) print('%s is done' % name) if __name__ == '__main__': t = Thread(target=task, args=('线程1',)) t.start()
开启线程方式二:
from threading import Thread import time class Mythread(Thread): def __init__(self, name): super().__init__() self.name = name def run(self): print('%s is running' % self.name) time.sleep(2) print('%s is done' % self.name) if __name__ == '__main__': c = Mythread('线程') c.start()
线程与进程的区别:
1.进程启动速度慢,线程速度快
2.线程对系统开销少,进程开销大
3.线程资源共享,进程是独立的