实现任务描述如下:

创建多个子线程,共同访问一个队列中的元素,并执行相应操作。
要求要按照元素的执行要按照队列顺序,并且元素的执行不能有重复。

示例代码如下:

#simple sample to show the usage of multithread
import threading commonlist=range(20)
commonlist.reverse() class Mythread(threading.Thread):
def __init__(self, lock, threadname):
super(Mythread, self).__init__(name=threadname)
self.lock=lock def run(self):
global commonlist
flag=True
while(flag):
self.lock.acquire()
if(len(commonlist)==0):
flag=False
else:
item=commonlist.pop()
print "%s get %d"%(self.getName(),item)
self.lock.release() def main():
lock=threading.Lock()
for i in range(5):
Mythread(lock, "thread-%d"%i).start() if __name__ == '__main__':
main()

ref:

http://blog.csdn.net/jgood/article/details/4305604

最新文章

  1. 转载《 LayoutInflater 的inflate函数用法详解》
  2. DEDECMS之二 如何修改模板页
  3. Spring_SpEL
  4. Sql Server 常用系统存储过程大全
  5. 使用Jsoup 抓取页面的数据
  6. 手机自适应meta设置
  7. (七)STM32的RTC简单操作
  8. Eclipse上安装springsource-tool-suite(zhuan)
  9. 尼姆博弈HDU1907
  10. socket关闭动作以及socket状态的总结
  11. js简单实现删除记录时的提示效果
  12. Android-Uiautomator:[5]停止monkey测试
  13. Practice: Process logs with Apache Hadoop
  14. protobuf与json互相转换
  15. PHP实现网页爬虫
  16. explain和profiling分析查询SQL时间
  17. 【jQuery】(3)---Jquery操作Dom
  18. Golang并发模型之Context详解
  19. postman(四):添加变量
  20. Ubuntu下搭建JAVA开发环境及卸载

热门文章

  1. Unity用代码实现Remove Missing Script
  2. 【转】细谈Redis和Memcached的区别
  3. linux环境中安装ftp服务
  4. kendo-ui表单验证
  5. 取值为[1,n-1]含n个元素的整数数组,至少存在一个重复数,即可能存在多个重复数,O(n)时间内找出其中任意一个重复数,不使用额外存储空间。
  6. JQuery难点备忘
  7. Shiro集成Spring
  8. Spring JDBC入门
  9. ios开发之--通过通知监听textfield的输入状态,判断按钮的状态
  10. [SublimeText] Sublime Text 2 运行 Python 脚本中文路径解决方法