这种共享资源是否是线程安全的?

时间:2018-01-08 04:42:34

标签: python multithreading thread-safety locking python-multithreading

在我目前的Python项目中,我有这样的结构:

  • 文件A有一个Meta类,用于存储一些全局资源,例如全局数据库访问(Meta.db
  • 文件B有许多类,每个类调用全局数据库访问Meta.db来访问数据库

问题出现了:

  • 在文件C中,有一个函数产生大约20个线程(没有锁,因为没有全局资源由线程直接共享),每个线程调用文件B中的不同类,以便为不同目的操作数据库,如这样:

    1. 文件C产生20个线程---->
    2. 文件B中的每个线程调用类---->
    3. 每个类调用Meta.db,全局单个数据库访问

程序运行时没有错误,但是上下文切换非常高(99%的运行时间),因此我想知道这种实现方式是否实用?还是线程安全的?

0 个答案:

没有答案