使用python,我写了一个令人讨厌的cralwer系统,从每个地方政府的网站提供一些东西,并且总的网站数超过100,以防万一他们的网页改变了,我不得不使用重新加载来进行热更新。但我想知道如果重新加载是线程安全的。因为我说,我正在线程1中重新加载模块Cralwer1,但同时线程2正在使用Cralwer1。线程1的重新加载是否会导致线程2失败?如果是这样,我必须做一个锁或什么,否则,我可以愉快地做没有额外的工作重新加载。谁能帮我吗?Python重新加载线程安全吗?
1
A
回答
1
是Python的重载线程安全的?
号
的重载()执行模块中的所有纯Python代码。任何纯Python步骤都可以随时进行线程切换。所以,这绝对不安全。
0
reload =在Crawler1中重新执行顶级代码。
一般来说没有更多的信息/代码示例,可以:
封装该踢的东西掉了“操作”顶级代码,例如把它放在函数或类中,然后调用它而不是重新加载整个模块。这可能涉及调用/添加一些清理功能。
使用一个全局变量,thread1和thread2将翻转并注意防止相互踩踏。这并不能很好地扩展,但也可以防止/延迟锁的使用。
- 使用锁其实并不难, ,甚至支持上下文管理器: https://docs.python.org/3/library/threading.html#with-locks
相关问题
- 1. 在Python线程安全吗?
- 2. python logger线程安全吗?
- 3. 这个Python代码线程安全吗?
- 4. python zipfile是线程安全的吗?
- 5. 在Python中,是set.pop()线程安全吗?
- 6. 是python dict.items()线程安全吗?
- 7. 如何同步数据源更新与tableview重新加载与线程安全?
- 8. 这个函数(操作符重载)线程安全吗?
- 9. 跟踪异步加载与线程安全吗?
- 10. 在Ruby 1.9中自动加载线程安全吗?
- 11. Enum.TryParse - 线程安全吗?
- 12. HtmlCleaner线程安全吗?
- 13. 是DatagramSocket.send线程安全吗?
- 14. XCGLogger线程安全吗?
- 15. jCaptcha线程安全吗?
- 16. 列表线程安全吗?
- 17. 这些线程安全吗?
- 18. ValueExpression线程安全吗?
- 19. SecureRandom线程安全吗?
- 20. KeyPairGenerator.generateKeyPair()线程安全吗?
- 21. 是TcpClient.Available线程安全吗?
- 22. Swift Calendar线程安全吗?
- 23. 此线程安全吗?
- 24. 线程安全(是吗?)
- 25. RegSetValueEx线程安全吗?
- 26. SecurityContextHolder线程安全吗?
- 27. PCRE pcre_exec线程安全吗?
- 28. SoapHttpClientProtocol线程安全吗?
- 29. SynchronizationContext.Post()线程安全吗?
- 30. Interop.Domino dll线程安全吗?
你为什么使用'reload'呢? – user2357112
用于热更新。 –