java-zh 2023-05-30 08:56 采纳率: 80%
浏览 18
已结题

synchronized

synchronized是锁住Java里面的代码,还是会锁住数据库的表


public synchronized  void testSyncheonized1(){
        //需要操作的同步资源
        System.out.println("当前方法往mysql中的A表插入一千条数据,耗时六十秒");


    }
    public void testSyncheonized2(){
        int a = 1;
        synchronized (this){
           System.out.println("当前方法往mysql的A表插入一条数据,耗时五秒");
        }

如果testSyncheonized1先执行五秒,然后testSyncheonized2在不同的线程中执行,那么往testSyncheonized2往A表写数据能否正常成功呢,testSyncheonized1开始执行的过程中会锁住整个A表吗?

  • 写回答

3条回答 默认 最新

  • 阳光宅男xxb 2023-05-30 09:09
    关注

    不会,synchronized跟数据表没有关系,其次synchronized的作用是保证在同一时刻, 被修饰的代码块或方法只会有一个线程执行,testSyncheonized1和testSyncheonized2是两个不同的方法,互相不影响

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

报告相同问题?

问题事件

  • 系统已结题 6月7日
  • 已采纳回答 5月30日
  • 创建了问题 5月30日