成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

仔細探討ADO處理方法進行學習思考

開發 后端
一般來說,我們把ADO處理歸結為3類,第一類:放任不管方式;第二類:開放式并發處理方式;第三類:保守式并發處理方式。

對于ADO處理要非常的謹慎,我們的大多數beta版產品的質量都同Microsoft已發布的產品的質量是一樣的,只有對數據準確性要求極高并且用戶可以忍受等待的情況下,使用這種并發沖突的處理方法。

1. 放任不管方式:

與其說這是一種處理并發沖突的方式,不如說,它是一種沒有對并發沖突做任何處理的方式。但是在許多過去的系統里,由于沒有考慮到多用戶、網絡應用等情況,這種"處理方式"還真存在于不少系統中。

舉例來說,A、B兩人從數據庫中獲取了同一個筆記本的信息,例如:IBM ThinkPad T61吧。然后:A把牌子改成了:Lenovo ThinkPad,B把型號改成了T61 8890A24。然后,他們開始提交了。此時,如果A先提交,然后B提交,那么,最后的結果是:IBM ThinkPad T61 8890A24ADO處理;反之,則變成Lenovo ThinkPad T61。

總之一句話,誰最后提交誰老大。想像一下,如果A修改了1000個屬性的值,B修改了1個屬性的值,那么,對于先提交的A來說,這將是一個多么慘痛的打擊:-) 雖然這種放任不管的方式似乎不太負責任,但是,其處理性能卻是相對較高的。

2. 開放式并發處理

開放式并發處理,老外叫做Optimistic Concurrency——樂觀的并發。這種并發處理方式要求我們對并發抱有一種樂觀的態度:百分之九十九點九九不會發生并發沖突,萬一發生了,系統也能捕獲到沖突,或者根據策略自動處理,或者,就提醒一下用戶,讓用戶來決定是不是要繼續提交。

仍然用上面的例子來說這事兒:A、B兩個人同時獲取了筆記本的信息:IBM ThinkPad T61。然后……(此處跟上例做一樣的修改,直到提交)此時,如果A先提交,那么,B提交的時候,系統會發現,哎喲,不好,有并發沖突了,就會拋個異常給B,讓B知道,發生并發沖突了ADO處理,然后,B就可以根據實際情況,選擇相應的處理策略(比如,繼續提交進行覆蓋或者取消提交等等);相反,如果B先提交,那么,A提交時,就會得到相應的提醒。 #t#

這樣的并發處理方式,可以說在可靠性與性能上取得平衡,適合于對數據可靠性要求不是特別嚴格,需要較高的性能,并且不會大量發生并發的場合。

3. 保守式并發ADO處理

這是最為嚴謹的一種并發沖突的處理方式。它把并發轉化為了串行操作。 例如,A從數據庫中獲取了筆記本信息:IBM ThinkPad T61,B也要對其進行修改,但此時由于A已經從數據庫中將數據取出,因此,B被置于等待狀態。直到A把數據修改完提交了,ADO處理數據庫數據更新為Lenovo ThinkPad T61了,此時,數據庫才把數據給B,那么B就可以在Lenovo ThinkPad T61的基礎上,把它修改為Lenovo ThinkPad T61 8890A24。而在B提交前,其它一切針對此記錄的操作都得排除等著B。

這樣子當然非常理想,由于不存在并發,自然也就消除了并發沖突的問題。但是,ADO處理這種鎖也存在著較為隱蔽的風險:如果A修改了數據,一直不提交,或者A因為故障,沒有辦法提交,那么,其它所有的相關的操作,都將被阻礙住。因此,只有對數據準確性要求極高并且用戶可以忍受等待的情況下,使用這種并發沖突的處理方法。

責任編輯:chenqingxiang 來源: 計世網
相關推薦

2009-12-30 15:41:23

ADO MoveNex

2009-12-22 13:49:40

ADO.net屬性

2010-01-04 13:06:50

ADO.NET事務

2010-01-04 17:20:47

ADO屬性

2009-12-24 17:01:42

ADO3.0

2009-12-24 16:56:21

ADO.NET庫

2009-12-28 14:35:22

ADO構造

2009-12-28 09:58:52

ADO操作

2010-03-01 15:08:36

2009-12-22 09:50:23

ADO.NET學習

2009-12-28 11:14:53

ADO 連接對象

2009-12-24 17:23:05

2009-12-23 17:21:31

ADO.NET團隊

2009-12-28 17:09:34

ADO.NET實例

2009-12-23 11:01:50

ADO.NET 批處理

2009-12-28 15:11:36

ADO.NET專家

2009-12-30 09:10:04

ADO.NET Ent

2010-01-04 10:14:04

ADO.NET對象模型

2009-12-29 15:30:15

ADO Insert

2009-12-23 16:21:38

ADO.NET工具
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 五月婷婷在线播放 | 亚洲成人精品一区 | 国产在线不卡视频 | www国产成人免费观看视频,深夜成人网 | 欧美成年人网站 | 日韩av成人| 久久久免费精品 | 黑人久久久 | 欧美男人天堂 | 精品欧美一区二区精品久久久 | 北条麻妃av一区二区三区 | 精品小视频 | 九九亚洲 | 久久国产一区 | 国产高清一二三区 | 欧美aⅴ | 成人精品国产免费网站 | 毛片一区二区 | 天天天天天操 | 成人一区二区在线 | 国产一区二区免费 | 6080亚洲精品一区二区 | 欧美偷偷 | 国产免费一区二区 | 日韩精品一区二区三区在线播放 | 成人黄色电影免费 | 久久精品黄色 | 国产精品免费一区二区三区 | 日韩精品久久久 | www.久久精品 | 久久久久久久99 | 日韩电影在线 | 成人精品免费视频 | 欧美一级二级在线观看 | av免费在线播放 | 久久亚洲欧美日韩精品专区 | 精产嫩模国品一二三区 | 欧美一区二区免费电影 | 玖玖视频 | 美女天堂| 怡红院成人在线视频 |