>  기사  >  백엔드 개발  >  Python 다중 스레드 공유 전역 변수에 대한 구현 코드

Python 다중 스레드 공유 전역 변수에 대한 구현 코드

不言
不言원래의
2018-09-11 16:18:312061검색

이 문서의 내용은 Python 다중 스레드 공유 전역 변수의 구현 코드에 관한 것입니다. 특정 참조 값이 있으므로 도움이 될 수 있습니다.

전역 변수는 프로세스 내의 모든 스레드에서 공유됩니다. 그러나 전역 변수에 대한 멀티스레드 변경으로 인해 변수 값이 엉망이 될 수 있습니다.

예: 동일한 프로세스의 모든 스레드가 전역 변수를 공유하는지 확인

코드:
#验证同一个进程内的所有线程共享全局变量
from threading import  Thread
import time
g_num=1000
def work1():
    global g_num
    g_num+=3
    print("work1----num:",g_num)

def work2():
    global g_num
    print("work2---num:",g_num)

if __name__ == '__main__':
    print("start---num:",g_num)
    t1=Thread(target=work1)
    t1.start()

    #故意停顿一秒,以保证线程1执行完成
    time.sleep(1)

    t2=Thread(target=work2)
    t2.start()
결과:
start---num: 1000
work1----num: 1003
work2---num: 1003

관련 권장 사항:

멀티 스레딩에서 Python 클래스 변수 공유 및 릴리스 문제

Python 다중 프로세스 프로그래밍에서 스레드 간 변수 공유 문제 살펴보기

위 내용은 Python 다중 스레드 공유 전역 변수에 대한 구현 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.