python2个子线程等待_python 线程执行的2个小脚本怎么结果显示方式有一定的不同之处呢?...

#encoding:UTF-8#方法一:importthreadingimporttimedata=0lock=threading.Lock()deffunc():globaldataprintthreading.currentThread().getName()#acquireiflock.acquire():printthre...

# encoding: UTF-8

#方法一:

import threading

import time

data=0

lock=threading.Lock()

def func():

global data

print threading.currentThread().getName()

#acquire

if lock.acquire():

print threading.currentThread().getName()

data+=1

time.sleep(1)

print threading.currentThread().getName()

lock.release()

t1=threading.Thread(target=func)

t2=threading.Thread(target=func)

t3=threading.Thread(target=func)

t1.start()

t2.start()

t3.start()

t1.join()

t2.join()

t3.join()

----------------------------------------------------------------

#方法二:

import threading

import time

data=0

lock=threading.Lock()

def func():

global data

print threading.currentThread().getName()

#acquire

if lock.acquire():

print threading.currentThread().getName()

data+=1

time.sleep(1)

print threading.currentThread().getName()

lock.release()

threads=[]

t1=threading.Thread(target=func)

t2=threading.Thread(target=func)

t3=threading.Thread(target=func)

threads.append(t1)

threads.append(t2)

threads.append(t3)

for d in threads:

d.start()

d.join()

问题来呢?

1、2段代码分别执行,不在同一个脚本中,

2、显示方式有一定的不同之处,是什么原因呢?能麻烦大神解释下吗?(其中一段,第一行显示了多段打印结果)

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值