java 死锁bdm

接口

    int thread1();
    int thread2();

  dao实现

    <update id="thread1">
        BEGIN
        update t_base_employee t set t.modify_time=sysdate where t.employee_code='108251';
update t_base_employee t set t.modify_time=sysdate where t.employee_code='M53291';
        end;
    </update>
    <update id="thread2">
        BEGIN
        update t_base_employee t set t.modify_time=sysdate where t.employee_code='M53291';
update t_base_employee t set t.modify_time=sysdate where t.employee_code='108251';
        end;
    </update>

  测试

@Test
    public void threadTest() throws InterruptedException {

        int threadNumber=3;
        final CountDownLatch countDownLatch = new CountDownLatch(threadNumber);
        for (int i = 0; i < threadNumber; i++) {
            final int ii=i;
            if (i % 2 == 0) {
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        baseSysLoggerService.thread1();
                        System.out.println("第"+(ii+1)+"个线程执行完成");
                        countDownLatch.countDown();
                    }
                }).start();
            } else {
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        System.out.println("第"+(ii+1)+"个线程执行完成");
                        baseSysLoggerService.thread2();
                        countDownLatch.countDown();
                    }
                }).start();
            }
        }
        countDownLatch.await();
        System.out.println("主线程执行完成");

    }

  




    原文作者:zfzf1
    原文地址: http://www.cnblogs.com/zfzf1/p/7732412.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞