Python之并发编程(线程)

文章目录

  • 一、线程理论
  • 二、开设线程的两种方式

一、线程理论

'什么是线程'
进程:资源单位
线程:执行单位
	进程相当于车间(一个个空间),线程相当于车间里面的流水线(真正干活的)
 '''一个进程中至少有一个线程'''
 
 """
 进程仅仅是在内存中开辟一块空间(提供线程工作所需的资源)
 线程真正被CPU执行,线程需要的资源跟所在进程的要
 """
 
'为什么要有线程'
开设线程的消耗远远小于进程
  开进程
     1.申请内存空间
     2.拷贝代码
  开线程
   	一个进程内可以开设多个线程 无需申请内存空间、拷贝代码
     一个进程内的多个线程数据是共享的
 
"""
开发一个文本编辑器
	获取用户输入并实时展示到屏幕上
	并实时保存到硬盘中
多种功能应该开设多线程而不是多进程
"""

二、开设线程的两种方式

	"""进程与线程的代码实操几乎是一样的"""
from threading import Thread
import time
 
 
def task(name):
    print(f'{name} is running')
    time.sleep(3)
    print(f'{name} is over')
 
# 创建线程无需在__main__下面编写 但是为了统一 还是习惯在子代码中写
t = Thread(target=task, args=('jason', ))
t.start()  # 创建线程的开销极小 几乎是一瞬间就可以创建
print('主线程')
 
 
class MyThread(Thread):
    def __init__(self, username):
        super().__init__()
        self.username = username
    def run(self):
        print(f'{self.username} jason is running')
        time.sleep(3)
        print(f'{self.username} is over')
 
t = MyThread('jasonNB')
t.start()
print('主线程')

你可能感兴趣的:(网络编程,python)