Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java with DB2并行进程中:我遇到了死锁异常:DB2SQL错误:SQLCODE=-911,SQLSTATE=40001,SQLERRMC=2,DRIVER=3.59.81_Java_Db2 - Fatal编程技术网

在java with DB2并行进程中:我遇到了死锁异常:DB2SQL错误:SQLCODE=-911,SQLSTATE=40001,SQLERRMC=2,DRIVER=3.59.81

在java with DB2并行进程中:我遇到了死锁异常:DB2SQL错误:SQLCODE=-911,SQLSTATE=40001,SQLERRMC=2,DRIVER=3.59.81,java,db2,Java,Db2,如何在DB2中重现这个问题?我已经用oracle多进程尝试了java,但现在用java在DB2中尝试了相同的方法。我需要复制这个。您需要两个测试表 CREATE TABLE T1 ( c INT); CREATE TABLE T2 ( c INT); 在每个线程中插入一些伪值,然后在启用事务的连接(autocommit=false)处强制两个线程死锁 线程1: statement.executeUpdate("INSERT INTO T2 SELECT * FROM T1"); Thread.

如何在DB2中重现这个问题?我已经用oracle多进程尝试了java,但现在用java在DB2中尝试了相同的方法。我需要复制这个。

您需要两个测试表

CREATE TABLE T1 ( c INT);
CREATE TABLE T2 ( c INT);
在每个线程中插入一些伪值,然后在启用事务的连接(autocommit=false)处强制两个线程死锁

线程1:

statement.executeUpdate("INSERT INTO T2 SELECT * FROM T1");
Thread.sleep(5000);
线程2:

statement.executeUpdate("INSERT INTO T1 SELECT * FROM T2");
Thread.sleep(5000);

为我重播问题Stavr00先生和Opal先生

我正在使用并行处理,这意味着我将在java上使用processBuilder概念启动所有进程,并且我还需要为300万条记录运行特定的目标时间