併發編程-線程-11線程基礎

一丶什麼是線程

進程線程其實都是虛擬單位,都是用來幫助咱們形象的描述某種事物python

二丶線程和進程

進程:資源單位
線程:執行單位
將內存好比成工廠
那麼進程就至關因而工廠裏面的車間
而你的線程就至關因而車間裏面的流水線
ps:每一個進程都自帶一個線程,線程纔是真正的執行單位,進程只是在線程運行過程當中
進程提供代碼運行所須要的資源操作系統

三丶爲何要有線程

爲何要有線程
開進程
1.申請內存空間 耗資源
2."拷貝代碼" 耗資源線程

​ 開線程
​ 一個進程內能夠起多個線程,而且線程與線程之間數據是共享的
​ ps:開啓線程的開銷要遠遠小於開啓進程的開銷code

四丶建立線程的兩種方式

4.1直接建立

開線程不須要在__main__代碼塊內 可是習慣性的仍是寫在__main__代碼塊內繼承

from threading import Thread
import time

def task(name):
    print('%s is running'%name)
    time.sleep(3)
    print('%s is over'%name)
# 開線程不須要在__main__代碼塊內 可是習慣性的仍是寫在__main__代碼塊內
t = Thread(target=task,args=('egon',))
t.start()  # 告訴操做系統開闢一個線程  線程的開銷遠遠小於進程
# 小的代碼執行完 線程就已經開啓了
print('主')

4.2類的繼承實例化建立

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(3)
        print('%s is over'%self.name)

t = MyThread('egon')
t.start()
print('主')
相關文章
相關標籤/搜索