파이썬 스레딩 어려움

KJWing

Google에 핑을하여 인터넷이 작동하는지 확인하는 동안 로딩 메시지를 표시하는 작은 프로그램을 작업 중입니다. 하지만 실행하려고 할 때마다 작은 로딩 기즈모에 남아 있습니다. 어떤 아이디어?

편집하다

그래서 로딩 기즈모가 멈추지 않는 문제를 해결했지만 이제 다른 문제가 있습니다. 이 소스는 더 큰 프로그램의 일부이며 프로그램이 인터넷이 작동하는 것으로 확인하면 로딩 기즈모가 중지됩니다. 일부 웹 사이트를 ping하는 것으로 예상되지만 대신 잠시 기다렸다가 종료됩니다. 그게 무슨 일인지 아는 사람 있나요?

import urllib2, time, threading
def ping():
try:
    urllib2.urlopen("http://www.google.com")
    network = 1
except IOError:
    network = 0

def network_waiting():
    while network == '?':
        print "\r[*] Checking network availability.... \ ",
        time.sleep(.07)
        print "\r[*] Checking network availability.... |",
        time.sleep(.07)
        print "\r[*] Checking network availability.... /",
        time.sleep(.07)
        print "\r[*] Checking network availability.... -",
        time.sleep(.07)

thread1 = threading.Thread(target = ping) 
thread2 = threading.Thread(target = network_waiting)

thread1.start()
thread2.start() 
베람 미스 트리

실제로 스레드를 정의하고 시작하는 방법에 대해 약간의 혼란이있을 수 있습니다. 단순히 변수 이름에 "thread"를 사용하여 스레드를 만들지 않습니다. 대신이를 수행 할 수있는 한 가지 방법은 ping 및 network_waiting 메서드를 호출하는 것을 알고있는 스레드 개체를 만드는 것입니다. 이렇게하는 예는 다음과 같습니다.

thread1 = threading.Thread(target = ping)
thread2 = threading.Thread(target = network_waiting)
thread1.start()
thread2.start()

추가 튜토리얼에 관심이있는 경우이 튜토리얼을 확인하십시오 .


편집 : 이제 호출을 스레드로 수정 했으므로 위의 @vanza의 설명을 참조하십시오. network전역 변수 로 선언하는 방법은 다음과 같습니다 (다음 설명).

import urllib2, time, threading
network = '?'
def ping():
  global network
  try:
      urllib2.urlopen("http://www.google.com")
      network = 1
  except IOError:
      network = 0

def network_waiting():
  global network
  while network == '?':
      print "\r[*] Checking network availability.... \ ",
      time.sleep(.07)
      print "\r[*] Checking network availability.... |",
      time.sleep(.07)
      print "\r[*] Checking network availability.... /",
      time.sleep(.07)
      print "\r[*] Checking network availability.... -",
      time.sleep(.07)

thread1 = threading.Thread(target = ping) 
thread2 = threading.Thread(target = network_waiting)

thread1.start()
thread2.start() 

본질적으로 global키워드 를 사용하지 않고 Python은 ping메서드 에서 전역 범위 networknetwork변수를 덮어 쓰는 대신 이름이 지정된 지역 변수를 만들고 여기에 쓰는 것이라고 생각합니다 .

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

파이썬 스레딩-무슨 일이 일어 났는지 알려주지 않는 트레이스 백 얻기

분류에서Dev

파이썬. 스레딩

분류에서Dev

파이썬이 파이썬 스크립트 내에서 스레딩을 허용하는지 알려줍니다.

분류에서Dev

파이썬 정규식의 어려움

분류에서Dev

펑키 한 결과를 만들어내는 파이썬 멀티 스레딩

분류에서Dev

멀티 스레딩 프로그램 (파이썬)을 만들어야합니다.

분류에서Dev

파이썬에서 멀티 스레딩을 어떻게합니까?

분류에서Dev

파이썬에서 스레딩, 다른 함수의 조건에 따라 프로그램이 대기하도록하려면 도움이 필요합니다.

분류에서Dev

파이썬 스레딩-스레드가 이미 실행 중인지 어떻게 알 수 있습니까?

분류에서Dev

QThread : GUI 파이썬으로 스레딩

분류에서Dev

파이썬 스레딩 추측 게임

분류에서Dev

내 플레이어가 파이썬으로 움직이지 않는 이유

분류에서Dev

SQLAlchemy의 로딩 전략을 이해하기 어려움

분류에서Dev

파이썬의 오류를 이해하기 어려움

분류에서Dev

ggplot에서 범례 레이블 순서 변경의 어려움

분류에서Dev

r에서 넓은 데이터 프레임의 어려움

분류에서Dev

데이터 프레임에 행을 추가 할 때 어려움

분류에서Dev

내 파이썬 tic-tac-toe의 어려움

분류에서Dev

파이썬 3에서 mayavi 사용의 어려움

분류에서Dev

파이썬 멀티 스레딩, 어떻게 한 번에 여러 작업을 실행할 수 있습니까?

분류에서Dev

signalR 허브 클래스에 어려움이 있습니까?

분류에서Dev

BeautifulSoup : 올바른 테이블에 액세스하기 어려움

분류에서Dev

파이썬 스레드가 스레딩이 아닙니다.

분류에서Dev

시퀀스 다이어그램을 이해하는 데 어려움이 있음

분류에서Dev

이 파이썬 스레딩 사용이 안전 / 좋은가요?

분류에서Dev

이 다중 스레딩 악마 파이썬 코드 이해

분류에서Dev

이전 쿼리 레코드를 가져 오는 데 어려움이 있음

분류에서Dev

파이썬 스레드는 어떻게 작동합니까?

분류에서Dev

파이썬에서 스레드의 루프 제어

Related 관련 기사

  1. 1

    파이썬 스레딩-무슨 일이 일어 났는지 알려주지 않는 트레이스 백 얻기

  2. 2

    파이썬. 스레딩

  3. 3

    파이썬이 파이썬 스크립트 내에서 스레딩을 허용하는지 알려줍니다.

  4. 4

    파이썬 정규식의 어려움

  5. 5

    펑키 한 결과를 만들어내는 파이썬 멀티 스레딩

  6. 6

    멀티 스레딩 프로그램 (파이썬)을 만들어야합니다.

  7. 7

    파이썬에서 멀티 스레딩을 어떻게합니까?

  8. 8

    파이썬에서 스레딩, 다른 함수의 조건에 따라 프로그램이 대기하도록하려면 도움이 필요합니다.

  9. 9

    파이썬 스레딩-스레드가 이미 실행 중인지 어떻게 알 수 있습니까?

  10. 10

    QThread : GUI 파이썬으로 스레딩

  11. 11

    파이썬 스레딩 추측 게임

  12. 12

    내 플레이어가 파이썬으로 움직이지 않는 이유

  13. 13

    SQLAlchemy의 로딩 전략을 이해하기 어려움

  14. 14

    파이썬의 오류를 이해하기 어려움

  15. 15

    ggplot에서 범례 레이블 순서 변경의 어려움

  16. 16

    r에서 넓은 데이터 프레임의 어려움

  17. 17

    데이터 프레임에 행을 추가 할 때 어려움

  18. 18

    내 파이썬 tic-tac-toe의 어려움

  19. 19

    파이썬 3에서 mayavi 사용의 어려움

  20. 20

    파이썬 멀티 스레딩, 어떻게 한 번에 여러 작업을 실행할 수 있습니까?

  21. 21

    signalR 허브 클래스에 어려움이 있습니까?

  22. 22

    BeautifulSoup : 올바른 테이블에 액세스하기 어려움

  23. 23

    파이썬 스레드가 스레딩이 아닙니다.

  24. 24

    시퀀스 다이어그램을 이해하는 데 어려움이 있음

  25. 25

    이 파이썬 스레딩 사용이 안전 / 좋은가요?

  26. 26

    이 다중 스레딩 악마 파이썬 코드 이해

  27. 27

    이전 쿼리 레코드를 가져 오는 데 어려움이 있음

  28. 28

    파이썬 스레드는 어떻게 작동합니까?

  29. 29

    파이썬에서 스레드의 루프 제어

뜨겁다태그

보관