Python의 다중 스레딩이 예상대로 작동하지 않습니다.

그런 다음 전화
import threading
import time

def test1():
 print "hello"
 time.sleep(15)
 print "hello2" 

def test2():
 print "hi"

th1 =threading.Thread(test1())
th2 =threading.Thread(test2())

p=[th1,th2]
for i in p:
 i.start()

for i in p:
 i.join()

내가 옳은지 잘 모르겠습니다. 그렇지 않으면 수정 해주세요. 출력이 hello hi 및 hello2 순서로 인쇄 될 것으로 예상합니다. 두 개의 스레드가 병렬로 실행될 것으로 예상하고 있습니다. 하지만 아래 출력, hello hello2 및 hi가 표시됩니다. Thread2는 thread1이 완료된 후에 만 ​​실행됩니다. 내가 뭘 잘못하고 있니? 또는 내 이해 또는 스레딩이 잘못 되었습니까?

제임스 밀스

( 기본값 :)Thread() 이라는 "키워드 인수" 를 사용하는 클래스 생성자에 함수 참조를 전달해야합니다 .targetNone

함수 호출의 결과 ( 예 : 수행 한 작업 )를 전달하면 특히에 대한 첫 번째 인수 Thread()가 실제로 이므로 원하지 않는 동작 이 발생 group=None합니다.

예 : ( 수정 됨 )

import threading
import time


def test1():
    print "hello"
    time.sleep(15)
    print "hello2"


def test2():
    print "hi"

th1 = threading.Thread(target=test1)
th2 = threading.Thread(target=test2)

p = [th1, th2]
for i in p:
    i.start()

for i in p:
    i.join()

산출:

$ python foo.py
hello
hi
# 15s delay
hello2

보다: threading.Thread()

구체적으로 특별히:

class threading.Thread(group=None, target=None, name=None, args=(), kwargs={})

이 생성자는 항상 키워드 인수로 호출해야합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

멀티 스레딩의 Telethon 이벤트가 예상대로 작동하지 않습니다.

분류에서Dev

SSRS의식이 예상대로 작동하지 않습니다.

분류에서Dev

SSRS의식이 예상대로 작동하지 않습니다.

분류에서Dev

BASH의 IF 문이 예상대로 작동하지 않습니다.

분류에서Dev

BufferedInputStream의 available ()이 예상대로 작동하지 않습니다.

분류에서Dev

C 스레딩 (pthread_create)이 예상대로 작동하지 않습니다.

분류에서Dev

숫자 변경을 수행 할 때 Python 다중 스레딩 잠금이 예상대로 작동하지 않습니다.

분류에서Dev

C에서 다중 스레딩으로 시리즈 계산이 예상대로 작동하지 않습니다.

분류에서Dev

Python : 다중 스레드 목록 추가가 예상대로 작동하지 않습니다.

분류에서Dev

Python의 수식이 예상대로 작동하지 않습니다.

분류에서Dev

Ant의 체크섬 작업이 예상대로 작동하지 않습니다.

분류에서Dev

Hadoop의 감속기 작업이 예상대로 작동하지 않습니다.

분류에서Dev

Python의 Foreach가 예상대로 작동하지 않습니다.

분류에서Dev

Python의 MRO가 예상대로 작동하지 않습니다.

분류에서Dev

날짜 사이의 DAX SUM이 예상대로 작동하지 않습니다.

분류에서Dev

서브 쉘의 소스가 예상대로 작동하지 않습니다.

분류에서Dev

Python Money 클래스가 예상대로 작동하지 않습니다.

분류에서Dev

Angular Service의 부울이 예상대로 작동하지 않습니다.

분류에서Dev

Windows의 jq 명령이 예상대로 작동하지 않습니다.

분류에서Dev

ksh93의 조판이 예상대로 작동하지 않습니다.

분류에서Dev

div의 focusout 이벤트가 예상대로 작동하지 않습니다.

분류에서Dev

Ruby on Rails의 skip_before_action이 예상대로 작동하지 않습니다.

분류에서Dev

CodeIgniter의 AJAX 호출이 예상대로 작동하지 않습니다.

분류에서Dev

함수의 반환 문이 예상대로 작동하지 않습니다.

분류에서Dev

JButton의 setLocation이 예상대로 작동하지 않는 것 같습니다.

분류에서Dev

JButton의 setLocation이 예상대로 작동하지 않는 것 같습니다.

분류에서Dev

/ F의 경우 "skip = 0"이 예상대로 작동하지 않습니다.

분류에서Dev

한 줄의 Ubuntu 두 명령이 예상대로 작동하지 않습니다.

분류에서Dev

덧셈과의 연결이 예상대로 작동하지 않습니다.

Related 관련 기사

  1. 1

    멀티 스레딩의 Telethon 이벤트가 예상대로 작동하지 않습니다.

  2. 2

    SSRS의식이 예상대로 작동하지 않습니다.

  3. 3

    SSRS의식이 예상대로 작동하지 않습니다.

  4. 4

    BASH의 IF 문이 예상대로 작동하지 않습니다.

  5. 5

    BufferedInputStream의 available ()이 예상대로 작동하지 않습니다.

  6. 6

    C 스레딩 (pthread_create)이 예상대로 작동하지 않습니다.

  7. 7

    숫자 변경을 수행 할 때 Python 다중 스레딩 잠금이 예상대로 작동하지 않습니다.

  8. 8

    C에서 다중 스레딩으로 시리즈 계산이 예상대로 작동하지 않습니다.

  9. 9

    Python : 다중 스레드 목록 추가가 예상대로 작동하지 않습니다.

  10. 10

    Python의 수식이 예상대로 작동하지 않습니다.

  11. 11

    Ant의 체크섬 작업이 예상대로 작동하지 않습니다.

  12. 12

    Hadoop의 감속기 작업이 예상대로 작동하지 않습니다.

  13. 13

    Python의 Foreach가 예상대로 작동하지 않습니다.

  14. 14

    Python의 MRO가 예상대로 작동하지 않습니다.

  15. 15

    날짜 사이의 DAX SUM이 예상대로 작동하지 않습니다.

  16. 16

    서브 쉘의 소스가 예상대로 작동하지 않습니다.

  17. 17

    Python Money 클래스가 예상대로 작동하지 않습니다.

  18. 18

    Angular Service의 부울이 예상대로 작동하지 않습니다.

  19. 19

    Windows의 jq 명령이 예상대로 작동하지 않습니다.

  20. 20

    ksh93의 조판이 예상대로 작동하지 않습니다.

  21. 21

    div의 focusout 이벤트가 예상대로 작동하지 않습니다.

  22. 22

    Ruby on Rails의 skip_before_action이 예상대로 작동하지 않습니다.

  23. 23

    CodeIgniter의 AJAX 호출이 예상대로 작동하지 않습니다.

  24. 24

    함수의 반환 문이 예상대로 작동하지 않습니다.

  25. 25

    JButton의 setLocation이 예상대로 작동하지 않는 것 같습니다.

  26. 26

    JButton의 setLocation이 예상대로 작동하지 않는 것 같습니다.

  27. 27

    / F의 경우 "skip = 0"이 예상대로 작동하지 않습니다.

  28. 28

    한 줄의 Ubuntu 두 명령이 예상대로 작동하지 않습니다.

  29. 29

    덧셈과의 연결이 예상대로 작동하지 않습니다.

뜨겁다태그

보관