Thread ¶
는 램() 러 동 리 는 말.
배 면 릭 배면 됨. 동 리 들 .~~!
배 면 릭 배면 됨. 동 리 들 .~~!
)
(process) : 는 만 더 념 말는데, 른 램 동 리 램 리..
러 루 는 .
(process) : 는 만 더 념 말는데, 른 램 동 리 램 리..
러 루 는 .
Thread 모듈 ¶
를 면 : 리 부 만들 start_new_thread() 면 됩.
1 ¶
~cpp import thread i=0 j=0 def f(): global i while 1: i+=1 def g(): global j while 1: j+=1 thread.start_new_thread(f,()) thread.start_new_thread(g,()) print 'i=',i print 'j=',j print 'i=',i print 'j=',j
2 ¶
~cpp import thread, time def counter(id): for i in range(5): print 'id %s --> %s' % (id, i) time.sleep(0.1) for i in range(5): thread.start_new_thread( counter, (i,) ) # 5 를 독립 time.sleep(2) # 대 print 'Exiting'
변 ¶
- 변를 는 .
만 러 변를 동 변 문 .
는 른 면 바르 못 보 문.
3 ¶
~cpp import thread, time g_count = 0 def counter(id, count): global g_count for i in range(count): print 'id %s -> %s' % (id, i) g_count = g_count +1 for i in range(5): thread.start_new_thread(counter,(i,5)) time.sleep(3) print 'Total Counter =', g_count print 'Exitintg'
(배)
문 보를 는 동는 른 변 못 는 ~!
allow_lock() 는 를 .(3)
1. thread.acquire() - 는. 면 른 는 .
2. thread.release() - . 른 들 는 는 .
3. thread.locked() - 면 1, 면 0 리.
문 보를 는 동는 른 변 못 는 ~!
allow_lock() 는 를 .(3)
1. thread.acquire() - 는. 면 른 는 .
2. thread.release() - . 른 들 는 는 .
3. thread.locked() - 면 1, 면 0 리.
lock = thread.allocate_lock() # lock는 모 . (->)
#
lock.acquire() # 들. 미 른 들 면 동 대.
g_count = g_count+1 #
lock.release() # . 른 ㅇ 들 .
#
lock.acquire() # 들. 미 른 들 면 동 대.
g_count = g_count+1 #
lock.release() # . 른 ㅇ 들 .
4 ¶
~cpp import thread, time g_count = 0 lock = thread.allocate_lock() def counter(id, count): global g_count for i in range(count): print 'id %s -> %s' % (id, i) lock.acquire() g_count = g_count +1 lock.release() for i in range(5): thread.start_new_thread(counter,(i,5)) time.sleep(3) print 'Total Counter =', g_count print 'Exitintg'
~cpp from Tkinter import * import time, thread def CountTime(): global i i=0 count=0 while count<80: text.insert(1.0, i) text.delete(INSERT) #text.update() time.sleep(0.1) count=count+1 root = Tk() root.protocol("WM_DELETE_WINDOW", exit) text=Text(root, height=1) text.pack() thread.start_new_thread(CountTime,()) canvas = Canvas(root, width=400, height=300) canvas.pack() wall = PhotoImage(file='wall.gif') canvas.create_image(0, 0, image=wall, anchor=NW) stop=0 root.mainloop()