Python线程的疑问和请教
迷茫
迷茫 2017-04-17 16:32:27
[Python讨论组]

说疑问也不能是疑问,但是困扰有点久。
有一个想法,就是使用线程来实现并发的操作,但是始终搞不明白怎么去实现不同的客户使用不同的线程。
以下是我的个人想法。
首先,从数据库提取用户名,使用此用户名创建一个指定的线程,使用这个用户名来命名该线程。
这样是否可行呢?

其实最主要的是问,线程的名字,是否就是识别该线程是做什么任务的?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
PHP中文网

1、多线程性能很低,很不用就不用。
2、线程应该面向请求,而不是用户,可以一个请求一个线程,一般会预先创建好,俗称线程池。

阿神

问题一:怎么实现不同的客户使用不同的线程?

使用queue模块,1个线程操作1个队列,根据队列个数决定需要使用线程的个数
思路:从数据库中取用户名的时候按照一定的规则将这些用户名放入多个队列中,假设有10个队列(队列中用户名的个数不用相等),之后每个线程实例化的时候指定1个队列为其参数即可,比如:t1 = threading.Thread(target=func(),args=(queue1,)),具体不展开,参考threading模块

问题二:线程的名字是否就是识别该线程是做什么任务?

不是,如回答一中所提,t1就是一个线程实例,对应操作队列q1,t1才是你识别这个线程的标志

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号