请教一下,关于使用threadpool的问题

6 views
Skip to first unread message

Eric.M

unread,
Dec 29, 2009, 10:25:35 PM12/29/09
to pyth...@googlegroups.com
数据库中的数据量比较大,因此我想分成多条sql语句放到线程池中,将结果返回,最后合并结果。
这里遇到一个问题是,不了解python在多线程下的机制,我在线程中使用results.extend(current_thread_return_result)来将结果合并时,
是否会出现线程安全的问题,应该如何处理,高人请指点

twitter:http://www.twitter.com/mlzboy

Leo Jay

unread,
Dec 29, 2009, 10:37:00 PM12/29/09
to pyth...@googlegroups.com
2009/12/30 Eric.M <freder...@gmail.com>:

> 数据库中的数据量比较大,因此我想分成多条sql语句放到线程池中,将结果返回,最后合并结果。
> 这里遇到一个问题是,不了解python在多线程下的机制,我在线程中使用results.extend(current_thread_return_result)来将结果合并时,
> 是否会出现线程安全的问题,应该如何处理,高人请指点
>

在results.extend这里会有线程安全的问题。
你要加锁再做extend


--
Best Regards,
Leo Jay

wenfeng wang

unread,
Dec 29, 2009, 11:13:05 PM12/29/09
to pyth...@googlegroups.com
在一个list里分开放 然后合并list

> --
> 来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:pyth...@googlegroups.com
> 退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
> 详情: https://groups.google.com/group/python-cn
> 严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp

green bai

unread,
Dec 30, 2009, 2:21:41 AM12/30/09
to pyth...@googlegroups.com
嗯 .lock.

2009/12/30 Leo Jay <python...@gmail.com>

Eric.M

unread,
Jan 3, 2010, 9:01:29 PM1/3/10
to pyth...@googlegroups.com
你的意思是我可以理解成list.append是原子性的,另外我看python中有一个线程安全的Queue不知道怎么用,google到一些代码,没有细读,还是习惯看中文性的说明,见谅,相当菜
所以我的问题是
1)list.append是原子性的
2)Queue的惯用法

2009/12/30 wenfeng wang <anua...@gmail.com>:

wangmao

unread,
Jan 3, 2010, 9:58:08 PM1/3/10
to pyth...@googlegroups.com
Queue的实现很简单,为什么不试着去看一看源码?

Zhang Jiawei

unread,
Jan 4, 2010, 8:25:52 PM1/4/10
to pyth...@googlegroups.com
用我写的封装类,有源码,有调用示例,不用关心内部,只关心接口就行。
又不懂继续回帖问。

2010/1/4 wangmao <lwm...@gmail.com>
Queue的实现很简单,为什么不试着去看一看源码?
thread_util.py
Reply all
Reply to author
Forward
0 new messages