两个线程交替运行

import threading

t1_semaphore = threading.Semaphore(1)
t2_semaphore = threading.Semaphore(0)

def T1(n, m, name):
    for i in range(n):
        if i % 2 == m:
            t1_semaphore.acquire()
            print(name, ':::: ', i)
            t2_semaphore.release()
        

def T2(n, m, name):
    for i in range(n):
        if i % 2 == m:
            t2_semaphore.acquire()
            print(name, ':::: ', i)
            t1_semaphore.release()


t1 = threading.Thread(target=T1, args=(5, 0, 'name_1'))

t2 = threading.Thread(target=T2, args=(5, 1, 'name_2'))

t1.start()
t2.start()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容