python之執行緒

2022-06-13 13:06:24 字數 3082 閱讀 8950

程序和執行緒都是虛擬單位,只是為了我們更加方便的描述問題

3.1、方式一

from threading import thread

import time

def task(name):

print(f' is running')

time.sleep(1)

print(f' is stopping')

# 開執行緒的**不需要寫在main中

# 但是習慣性的將啟動命令寫在main下面

t = thread(target=task,args=('tzh',))

t.start()

print('我是主線程')

3.2、方式二

from threading import thread

import time

class mythead(thread):

def __init__(self,name):

#重寫別人的方法

super().__init__()

self.name = name

def run(self):

print(f' is running')

time.sleep(1)

print(f' is stoppings')

print('tzh666')

if __name__ == '__main__':

t = mythead('tzh')

t.start()

from threading import thread

import time

def task(name):

print('%s is running'%name)

time.sleep(3)

print('%s is over'%name)

if __name__ == '__main__':

t = thread(target=task,args=('egon',))

t.start()

t.join() # 主線程等待子執行緒執行結束再執行

print('主')

from threading import thread

import time

money = 100

def task():

global money

money = 666

print(money)

if __name__ == '__main__':

t = thread(target=task)

t.start()

t.join()

print(money)

from threading import thread, active_count, current_thread

import os, time

def task():

print(f'子程序號是:')

print(f'子執行緒名字是:')

time.sleep(2)

if __name__ == '__main__':

t = thread(target=task)

t.start()

#列印出來是一樣的,因為他們在同乙個下程序中

print(f'主程序號是:')

print(f'主線程名字是:')

print(f'活躍的執行緒數:')

from threading import thread

import time

def task(name):

print('%s is running'%name)

time.sleep(1)

print('%s is over'%name)

if __name__ == '__main__':

t = thread(target=task, args=('tzh', ))

t.daemon = true

t.start()

print('主')

from threading import thread

import time

def foo():

print(123)

time.sleep(1)

print('end123')

def func():

print(456)

time.sleep(3)

print('end456')

if __name__ == '__main__':

t1 = thread(target=foo)

t2 = thread(target=func)

t1.daemon = true

t1.start()

t2.start()

print('主.......')

--輸出--

123456

主.......

end123

end456

from threading import thread, lock

import time

money = 100

mutex = lock()

def task():

global money

#上鎖mutex.acquire()

tmp = money

time.sleep(0.1)

money = tmp - 1

#用完之後釋放

mutex.release()

if __name__ == '__main__':

t_list =

for i in range(100):

t = thread(target=task)

t.start()

for t in t_list:

t.join()

print(money)

python之執行緒

前言 python的thread模組是比較底層的模組,python的threading模組是對thread做了一些包裝的,可以更加方便的被使用 實現執行緒的方法 使用threading模組import threading import time 注意 在寫迴圈的時候for i in range 5 ...

Python學習 之 執行緒

from threading import thread import time import random 用於併發執行的函式 deftask num time.sleep random.randint 1,3 print num if name main 建立乙個用於存放執行緒的 list 這種...

python之執行緒入門

import threading import time class mythread threading.thread def init self,threadid,threadname,counter threading.thread.init self self.threadid thread...