- python线程内建模块练习
1. EXP1, thread简单调用
2. EXP2, thread加入锁
1. EXP1, thread简单调用
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import thread
import time
# 为线程定义一个函数
def threadTest(threadName):
print "%s" %(threadName)
# 创建两个线程
try:
thread.start_new_thread( threadTest, ("Thread-1",) )
time.sleep(0.3)
thread.start_new_thread( threadTest, ("Thread-2",) )
time.sleep(0.3)
except:
print "Error: unable to start thread"
2. EXP2, thread加入锁
- 起10个进程;
- 单线程独占资源;
- 用锁来保证每个线程结束后再执行下一个进程;
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import thread, time, random
count = 0
lock = thread.allocate_lock() #创建一个琐对象
def threadTest():
global count, lock
print lock.acquire() #获取琐
for i in xrange(10000):
count += 1
print lock.release() #释放琐
#print thread.exit ()
for i in xrange(10):
thread.start_new_thread(threadTest, ())
time.sleep(0.3)
print count
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import thread
import time
# 为线程定义一个函数
def threadTest(threadName):
print "%s" %(threadName)
# 创建两个线程
try:
thread.start_new_thread( threadTest, ("Thread-1",) )
time.sleep(0.3)
thread.start_new_thread( threadTest, ("Thread-2",) )
time.sleep(0.3)
except:
print "Error: unable to start thread"
- 起10个进程;
- 单线程独占资源;
- 用锁来保证每个线程结束后再执行下一个进程;
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import thread, time, random
count = 0
lock = thread.allocate_lock() #创建一个琐对象
def threadTest():
global count, lock
print lock.acquire() #获取琐
for i in xrange(10000):
count += 1
print lock.release() #释放琐
#print thread.exit ()
for i in xrange(10):
thread.start_new_thread(threadTest, ())
time.sleep(0.3)
print count
时间: 2024-08-02 17:59:07