Das Oracle Database Dev Team rät dringend davon ab Verwenden einer einzelnen Verbindung in mehreren Threads. Das macht fast immer Probleme. Als allgemeine Regel werden wir keinen Problembericht berücksichtigen, der dies tut.
Eine Connection kann mehrere Statements und/oder ResultSets gleichzeitig geöffnet haben, aber es kann immer nur eines ausgeführt werden. Verbindungen sind ausschließlich Single-Threaded und Blocking. Wir versuchen zu verhindern, dass mehrere Threads gleichzeitig auf eine Verbindung zugreifen, aber es gibt ein paar seltsame Fälle, in denen dies möglich ist. Diese sind alles andere als garantiert, um Probleme zu verursachen. (Es ist nicht praktikabel, diese Fälle zu beheben oder zu verhindern, hauptsächlich aus Leistungsgründen. Teilen Sie einfach eine einzelne Verbindung nicht über mehrere Threads hinweg.)