Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

这个在大量io操作的时候,会出现一个问题就是很多线程会死掉,结果不完全。 #5

Open
sunboy123 opened this issue Nov 13, 2019 · 5 comments

Comments

@sunboy123
Copy link

No description provided.

@cilame
Copy link
Owner

cilame commented Jul 8, 2020

现在已经清除掉程序异常导致 线程池中的线程-1 的问题。

@sunboy123
Copy link
Author

我之前计算的时候,并不是程序异常的问题,就是纯粹的线程貌似不知不觉死掉了。所以会最后的结果数量是少很多

@cilame
Copy link
Owner

cilame commented Sep 18, 2020

我之前计算的时候,并不是程序异常的问题,就是纯粹的线程貌似不知不觉死掉了。所以会最后的结果数量是少很多

能不能提供一下能够复现问题的脚本,让我这边可以调试处理。

另外最好用pip更新一下库的版本,因为上面我所描述的我之前解决的那个问题就是解决了很多线程死掉的问题,现在更新使用新的版本不会这样。如果你更新了库,还是会出现相同的问题,请加大力度,向我发一个能复现问题的脚本。

@hyperknob
Copy link

我之前计算的时候,并不是程序异常的问题,就是纯粹的线程貌似不知不觉死掉了。所以会最后的结果数量是少很多

能不能提供一下能够复现问题的脚本,让我这边可以调试处理。

另外最好用pip更新一下库的版本,因为上面我所描述的我之前解决的那个问题就是解决了很多线程死掉的问题,现在更新使用新的版本不会这样。如果你更新了库,还是会出现相同的问题,请加大力度,向我发一个能复现问题的脚本。

的确这样,我使用了新版的vthread, 仍然在运行一段时间后发现池内可用线程慢慢减少(线程执行时因为某些原因会有少许bug),现象之一就是_monitor_run_num内很多标记为'V'的队列元素一直留存着,是源码348行的 self._monitor_run_num[gqueue].get('V') 这句在某些情况下没生效么?

@cilame
Copy link
Owner

cilame commented Jan 5, 2021

我之前计算的时候,并不是程序异常的问题,就是纯粹的线程貌似不知不觉死掉了。所以会最后的结果数量是少很多

能不能提供一下能够复现问题的脚本,让我这边可以调试处理。
另外最好用pip更新一下库的版本,因为上面我所描述的我之前解决的那个问题就是解决了很多线程死掉的问题,现在更新使用新的版本不会这样。如果你更新了库,还是会出现相同的问题,请加大力度,向我发一个能复现问题的脚本。

的确这样,我使用了新版的vthread, 仍然在运行一段时间后发现池内可用线程慢慢减少(线程执行时因为某些原因会有少许bug),现象之一就是_monitor_run_num内很多标记为'V'的队列元素一直留存着,是源码348行的 self._monitor_run_num[gqueue].get('V') 这句在某些情况下没生效么?

不是很清楚了,因为没有具体代码片可以分析。我这边的理解中,因为这行代码是写在 finally 里面的,在正常执行完或者触发异常后都会执行。除非是程序本身发生异常后会假死在内部。比如一般的爬虫库请求网页时会有一个默认等待时间会很长。大量请求出现异常后就会进入大量的等待的假死中,看上去线程死了一样。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants