Python 访问相同词典的不同线程(只读)

Python 访问相同词典的不同线程(只读),python,multithreading,dictionary,thread-safety,conflict,Python,Multithreading,Dictionary,Thread Safety,Conflict,我有一个函数(例如myFunc),它获取开始日期和结束日期并对其进行迭代,并访问一些字典来处理这个时间段的数据。我希望使用线程来并行化这段代码 My main()函数从一堆文件中读入数据并将它们存储在字典中。每次我打电话给myFunc,我都会传递这些字典和开始和结束日期。当我使用多个线程调用myFunc并传递相同的字典时,会有冲突吗?这些词典仅用于只读目的 myFunc创建了许多字典,然后将这些字典写到另一个文件中。每个线程的输出文件都会有所不同,但由于所有线程的字典名称都相同,是否会发生冲突?

我有一个函数(例如myFunc),它获取开始日期和结束日期并对其进行迭代,并访问一些字典来处理这个时间段的数据。我希望使用线程来并行化这段代码

My main()函数从一堆文件中读入数据并将它们存储在字典中。每次我打电话给myFunc,我都会传递这些字典和开始和结束日期。当我使用多个线程调用myFunc并传递相同的字典时,会有冲突吗?这些词典仅用于只读目的

myFunc创建了许多字典,然后将这些字典写到另一个文件中。每个线程的输出文件都会有所不同,但由于所有线程的字典名称都相同,是否会发生冲突?理论上,我理解线程的概念意味着只要那些字典不是全局的,就不应该有冲突。但由于这是我第一次尝试线程,我希望得到一些确认


谢谢使用线程,不,你不会有问题的。您也无法实现并行性。Python中的全局解释器锁(GIL)只允许单个线程在任何时候进行处理。如果您想要真正的并行处理,您需要查看多处理模块。它实际上能够在一台机器上利用多个处理器。

我没有意识到这一点。谢谢如果我真的使用了多处理模块,我的两个问题的答案是否都是否定的?这正是他所说的。直接回答你的问题,不,不会有冲突。为了更好地回答您的问题,您无法使用线程在Python中实现并行性;您需要使用@user669815-两个问题的答案仍然是否定的。您的方法是正确的,只是不能使用线程。