Hanlex-Liu 2021-07-08 11:45 采纳率: 100%
浏览 33
已结题

想问一个关于多线程的问题

我现在有一个使用工厂模式的数据库操作类,工厂根据数据库类型返回对应的数据库操作类,但是所有数据库操作类集成一个抽象的操作总类.抽象类里面有protected 修饰的属性,
这时我有一个线程池,在用户上传文件的时候会向线程池提交一个任务,任务中会根据文件的类型和指定的数据库信息,调用数据库操作类中的方法,将文件的数据读取,在指定数据库中,新建一张表,保存文件中的数据,
问题来了,线城池设定的核心线程数量是6,如果我同时有六条线程,在做这个任务,每个任务分别使用工厂构建了数据库操作类,如果在每个操作类中都修改了操作总类中的protected修饰的属性,这个属性发生线程冲突吗?
我是个多线程的小白,希望大佬给个详细的解答

  • 写回答

4条回答 默认 最新

  • 一个堆栈 2021-07-08 11:51
    关注

    是否冲突关键看你是否使用静态对象或者是否操作的是同一个对象,如果每一个线程都是重新创建对象那没有问题。也就是说你获取操作类的时候是每个线程获取新实例还是复用原有实例。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月6日
  • 已采纳回答 4月28日