모범 사례인지 모르겠지만 목록에있는 매개 변수를 확인하는 매 5 초마다 활성화되는 스레드가 있습니다. 루프는 while 루프 외부에서 함수를 사용하여 매개 변수를 목록에 삽입합니다 (이 부분은 정상적으로 작동 함). 그러나 목록은 스레드 내부에서 업데이트되지 않습니다. 어떻게 스레드로 보내겠습니까?파이썬 3.3 - 변수를 스레드로 보내기
IE
def addtolist():
mylist.extend([variable])
def myfunction():
while True:
if time.time() > 5 + last_time:
last_time = time.time()
print(mylist[0]) # doesn't print anything
time.sleep(1)
if __name__ == "__main__":
count_job = Thread(target = myfunction, args =())
count_job.start()
while True:
variable = "Look, a fly!"
addtolist()
time.sleep(7)
나는 그것이보다 아주 조금 더 복잡하고 여기에 붙여 너무 길다하지만 난 그냥 그 작동하지 않는 추가 한 부분이다 말은, 무엇이다 잘못하고있는거야?
Timers Objects이 이미 잠시 진정한 루프를 않는 스레드를 추가하는 것을 잊었다 사용 고려해야 업데이트됩니다 내 게시물, 내 실수 – sunshinekitty
다음에는 바쁜 루프에 있습니다 ... 내 대답과 같이 'sleep' 문을 추가하고 결과가 다른지 확인해보십시오. – isedev
내 루프에 time.sleep (1)이 있습니다. 한숨을 더 드리겠습니다. – sunshinekitty