python3 cgi 服务器为何创建不了子线程?

2017-08-16 17:02:39 +08:00
 jiaming1992

我创建了一个 cgi 服务器,并且运行了,在一个 py 文件里 print 了 html 内容,然后在最后希望执行一些耗时操作,然后我就创建了 Thread,放入了耗时操作,并且 start 了,但是,,服务器是一直等耗时操作执行完毕才返回 print 的 html,这不科学啊,这个 thread 创建就毫无意义了啊,阻塞了主线程了啊。。python 小白纠结啊。。。

1703 次点击
所在节点    Python
10 条回复
jiaming1992
2017-08-16 17:02:57 +08:00
求大神帮帮忙分析下。。
ysc3839
2017-08-16 18:35:49 +08:00
你的意思是,耗时操作完了之后会输出信息给客户端?这么做没用的,客户端一直在那等着。
jiaming1992
2017-08-17 10:07:54 +08:00
@ysc3839 客户端不用等待服务器的回复,客户端只管发送一条命令给服务器,让服务器自己做些运算处理,然后服务器就堵住了,其他浏览器也访问不了服务器了,开了子线程执行处理也是这样。。
ysc3839
2017-08-17 13:58:39 +08:00
@jiaming1992 可能是 CGI 的问题?服务器等待 CGI 进程退出了才断开与客户的连接。
jiaming1992
2017-08-18 07:11:41 +08:00
@ysc3839 我查看写一些资料是说 cgi 单进程的,有没有什么解决办法呢,或者说 python 啥服务器适合轻量级的开发呢,还能执行异步的任务,感谢!
ysc3839
2017-08-18 07:41:27 +08:00
试试 FastCGI ?说实话我没用 Python 搞过后端开发。
jiaming1992
2017-08-20 11:29:09 +08:00
@ysc3839 大神 你搞过 pyqt 开发吗
ysc3839
2017-08-20 15:35:58 +08:00
@jiaming1992 我并不是大神……我只是 Python 入门……
jiaming1992
2017-08-21 22:29:38 +08:00
@ysc3839 额 我也是...
jiaming1992
2017-08-21 22:29:47 +08:00
@ysc3839 一起学习

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/383433

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX