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()










