我有一个静态类,它包含许多从配置文件中读取值的函数。配置文件随软件提供,软件本身也不会写入。
我的应用程序中运行了许多线程,我需要在静态类中调用一个函数。然后该函数将转到其中一个配置文件,查找一个值(取决于我调用该函数时传递的参数),然后返回一个结果。
我需要线程能够同时读取所有文件(或者更确切地说,不与主线程同步)。线程永远不会写入配置文件。
我的问题很简单,因此,允许多个线程调用相同的静态函数同时从同一个文件读取值会有任何问题吗?我可以理解,如果有些线程正在写文件而其他人正在阅读时会出现序列化问题,但这绝不会发生。
基本上:
1.是否存在允许多个线程同时从同一文件读取的问题?
2.是否有任何问题允许多个线程同时调用相同的静态函数(在同一个静态类中)?
答案 0 :(得分:0)
是的,这可能是一个问题,取决于类实际如何定位和读取文件,如果类也缓存值,则不需要每次都读取文件。如果没有看到类的实际代码,就无法告诉您代码是否是线程安全的。