⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jdbc-spec.frame9.html

📁 JDBC的学习文档
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>

<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=gb2312">
<title></title>
</head>

<body bgcolor="#ffffff">

<table width="600">
  <tr>
    <td><font size="-1"><a href="jdbc-spec.frame.html">目录</a> | <a
    href="jdbc-spec.frame8.html">上一页</a> | <a href="jdbc-spec.frame10.html">下一页</a> 
    </font></td>
    <td align="right"><i>JDBC<sup><font size="-2">TM</font></sup> 指南:入门</i></td>
  </tr>
</table>

<hr>

<p><br>
<a name="16978"></a> </p>

<h2>9&nbsp; 异步、线程和事务</h2>

<h3>9.1 异步请求</h3>

<p>某些数据库 API(如 ODBC)提供允许异步执行 SQL 
语句的机制。因此应用程序可在后台启动数据库操作,然后在等待操作完成期间处理其它工作(如管理用户接口)。</p>

<p><a name="4535"></a>由于 Java 
是多线程环境,因此似乎并不需要支持异步语句执行。如果 Java 
程序员希望对于主线程异步地执行语句,他们可以方便地创建独立线程。</p>

<p><a name="4538"></a> </p>

<h3>9.2 多线程</h3>

<p>要求所有 java.sql 
对象的全部操作都具有多线程安全性,而且能够在多个线程同时调用同一对象时进行正确处理。</p>

<p><a name="20651"></a>某些驱动程序可允许更大程度的并行执行。开发人员可假定进行的是完全并行执行;如果驱动程序需要某种同步形式,则它将提供该形式。开发人员所能看到的唯一不同点是,应用程序运行时并行性减少。</p>

<p><a name="20689"></a>例如,同一 Connection 上的两个 Statement 
可并行执行,它们的 ResultSet 
可被并行处理(从开发人员的角度出发)。某些驱动程序将提供这种完全的并行性。其它驱动程序可以执行一条语句并等到在执行完毕后再传送下一句。</p>

<p><a name="20695"></a>多线程的一个特殊用途是可以取消一条长运行语句。方法是使用一个线程来执行该语句,而使用另一线程通过 
Statement.cancel() 方法取消该语句。</p>

<p><a name="20690"></a><strong>在实际操作过程中,我们希望大多数 JDBC 
对象都只在一个线程中被访问。但是某些多线程支持是必要的,而且在先前的草案中我们试图将某些类指定为具有 
MT 安全性,而将另一些类指定为不具有 MT 
安全性,事实证明复杂程度是增加了而不是降低了</strong>。</p>

<p><a name="11734"></a> </p>

<h3>9.3 事务</h3>

<p>新的 JDBC 
连接最初为“自动提交”模式。这意味着在数据库内每个语句被当作独立事务执行。</p>

<p><a name="20011"></a>为在单一事务内执行多个语句,首先必须通过调用 
Connection.setAutoCommit(false) 禁用自动提交。</p>

<p><a name="20012"></a>当禁用自动提交时,该连接始终具有与其关联的隐含事务。可执行 
Connection.commit 来完成事务或执行 Connection.rollback 
来中止事务。提交或反转也将启动新的隐含事务。</p>

<p><a name="4265"></a>事务的恰当语义及其隔离层取决于基本数据库。利用 
java.sql.DatabaseMetaData 上的方法可获取当前缺省值,利用 
java.sql.Connection 上的方法可将新打开的连接移到不同隔离层。</p>

<p>接口的最初版本不支持提交跨越不同连接的事务。</p>

<p><br>
</p>

<hr>
<font size="-1"><a href="jdbc-spec.frame.html">

<p>目录</a> | <a href="jdbc-spec.frame8.html">上一页</a> | <a
href="jdbc-spec.frame10.html">下一页</a> </font></p>

<hr>

<address>
  <a href="mailto:jdbc@wombat.eng.sun.com">jdbc@wombat.eng.sun.com</a> 或 <a
  href="mailto:jdbc-odbc@wombat.eng.sun.com">jdbc-odbc@wombat.eng.sun.com</a> 
</address>
<a href="../../../relnotes/SMICopyright.html"><font size="-1"><i>

<p>版权所有 &copy; 1996, 1997 Sun Microsystems, Inc. 保留所有权利</i></font>。</a><!-- HTML generated by Suzette Pelouch on April 10, 1998 --> 
</p>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -