デッドロック

デッドロックに関する関連サイト、関連ブログ、関連動画をご紹介します。

関連Q&A
MOS2007(エクセル)に独学で合格できるか!?http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1161681356 の補足です。↑の質問に答えてもらえると嬉しいです。全商の検定を知らない人が多いようなので情報処理検定(ビジネス部門)1級の範囲を載せときます。高校2年の時に取得したので忘れてる部分の少しありますが、また少し勉強すれば思い出せると思います。これを見てMOS2007(エクセル)を独学で合格できると思いますか??※情報処理検定(ビジネス部門)1級には合格しています。(1)関連知識ピアツーピア クライアントサーバシステム ファイルサーバ データベースサーバ プリントサーバ EUC SAD ランニングコスト現状分析 ブレーンストーミング KJ法 決定表(デシジョンテーブル) DFD パート図( PERT ) クリティカルパスABC 分析 パレート図 Zグラフ 回帰分析 散布図 正の相関 負の相関 ヒストグラム(2)表計算ソフトウェアの活用<応用操作>複合参照マルチシート グループ集計 クロス集計 ピボットテーブル 最適解 ゴールシーク ソルバー フィルタ 手続きの自動化(マクロ機能)<関数の利用>INDEX MATCH SEARCHSUBSTITUTE CEILING FLOORFV PV PMTRATE NPER ISERROR文字列結合( & )ワイルドカード( ? * )<グラフの作成>2軸上の折れ線と棒グラフ 2軸上の折れ線グラフ パレート図 Zグラフ 散布図 回帰直線(近似曲線) ヒストグラム<分析>販売情報の分析やシミュレーション 財務情報の分析やシミュレーション(3)データベースソフトウェアに関する知識<データベースの設計>データベース設計 概念設計 論理設計 物理設計 正規化 第1正規化(正規形) 第2正規化(正規形) 第3正規化(正規形) E-R 図 エンティティ(実体) アトリビュート(属性) リレーションシップ(関係) 整合性制約(参照整合性) 排他制御 デッドロック<SQL>関数SUM AVG MAX MIN COUNT AS DISTINCT LIKE ワイルドカード( _ % ) ORDER BY GROUP BY HAVINGBETWEEN IN 副問合せ INSERT INTO ~ VALUES ~ UPDATE ~ SET ~ DELETE FROM ~(1)表計算ソフトウェアの活用<関数の利用>AND OR NOT VLOOKUP HLOOKUP RANKDSUM DAVERAGE DMAX DMIN DCOUNT DCOUNTASUMIF COUNTIF LARGE SMALL MOD LENLEFT RIGHT MID VALUE FIXED NOWTODAY WEEKDAY DATE TIME YEAR MONTHDAY 関数のネスト(入れ子)<グラフの作成>タイトル・軸・ラベル・凡例の設定3-D 効果(2)データベースソフトウェアの活用<リレーショナル型データベース>基本表(実表) 仮想表(ビュー表) 主キー 複合キー(連結キー) 外部キー
以前の質問に回答している人も書いているように、MOSという検定試験は独学で合格する人の多い試験です。まして、これまで他のExcelを使った検定試験で1級まで合格できている人ならなおのことです。対策講座なんか受けなくて大丈夫だと思いますよ。しかし、全商の試験とは出題形式がまったく違います。現在の知識だけで合格は不可能です。きちんとMOSの対策模擬問題集を購入して試験対策をしてくださいね。頑張ってください。
オススメのBL小説を教えてください。最近、英田サキの『エス』と『デッドロック』シリーズを読みました。そんな影響で、女々しくなく、キレイ系な顔の芯の強い20代受け…が今キてます(笑内容がしっかりしているもので、甘すぎないものが好きです。戦闘シーンなんかあればなおよし。1巻完結でもシリーズものでも、なんでも構いません。よろしくお願いします^^
『エス』と『デッドロック』がHITしたなら、同じく英田さんで『デコイ囮鳥』『デコイ迷鳥 』がお薦めです。『エス』のスピンオフで2年後くらいの話。硬質で緊迫感のあるストーリー『エス』よりもダークというか、ディープ。
なぜデッドロック?リエントラントPGで、以下2つのSQLを発行するトランザクションがあるとします。1>SELECT fieldA,fieldB,fieldC FROM TABLE_A FOR UPDATE2>UPDATE TABLE_A SET field_C = SQL(1)で取得した値 WHERE field_A = field_Aの値 AND field_B = field_Bの値当該PGのみで複数同時トランザクション(10TPS程度)で動作させて評価したのですが、デッドロックが発生しました。単一PG、単一テーブルのため、デッドロックが起きるとは思いませんでした。このデッドロックの原因は何でしょう。お解かりの方、いらっしゃいますか?CentOS5.5 PostgreSQL8.4を使用しています。
テーブルロックをしているのであれば、PG終了までこのテーブルをロックをしますので、単一PGではデッドロックは発生しないと思います。もしかすると、行ロックをしたのでしょうか???PostgreSQLは追記型RDBMSなので、行がユニークとなる値で読み込み順を設定しないと、デッドロックになります。なので、1のSQLにユニークキーのORDER BYを追加すればデッドロックは回避されます。(ユニークキーまたはプライマリーキー)
500枚! この問題分かる人いますか?1) H13 秋 基本情報 問69DBMS の排他制御機能に関する記述のうち、正しいものはどれか。ア DBMS が自動的に行うものと、アプリケーションプログラムがDBMS に明示的に指示して行うものとがある。イ オンラインでの更新時に行うべきものであり、バッチ処理による更新時には行う必要はない。ウ 関係(表)単位に行われることが多い。エ 第一の目的は、デッドロックの防止である。2) H15 秋 問44DBMSの排他制御に関する記述として,適切なものはどれか。ア データベースに障害が起きた場合,自動的にデータベースを復旧する機能 イ データを参照する際の優先順位を管理する機能 ウ データを同時に更新しようとしたとき,矛盾が起こらないようにする機能 エ デッドロックが起こらないようにする機能3) H16 春 基本情報技術者DBMS におけるデッドロックの説明として,適切なものはどれか。 ア 2相ロックにおいて,第1相目でロックを行ってから第2相目でロックを解除するまでの状態のこと イ ある資源に対して占有ロックと占有ロックが競合し,片方のトランザクションが待ち状態になること ウ あるトランザクションがアクセス中の資源に対して,ほかのトランザクションからアクセスできないようにすること エ 複数のトランザクションが,互いに相手のロックしている資源を要求して待ち状態となり,実行できなくなること4) H13 春 基本情報技術者 問68DBMS がチェックポイントで行う処理として,適切なものはどれか。ア 再実行すべきトランザクションのリストを作成する。イ データベース更新バッファの内容をデータベースヘ書き出す。ウ トランザクション完了ログを書き出す。エ ログバッファの内容をログファイルヘ書き出す。
僕はちょうど7年ほど前に基本情報に合格したので応えます。ってか、む・むずい。覚えていないよ。当時の基本情報ってむずかったですよね。13年春の合格率13%だっけ?てか、その後セキュアド合格しました。1:ウ? 引っ掛けの様に紛らわしいです。エと思わせてウでしょう。2:ウ? 優先順位を管理するのはディスパッチャでしたっけか?割り込みします。つまりプリエンプトします。3:エ? 資源を相互に求め合い、次の処理が行えない状態で、システムが停止した状態です。4:イ? 一番悩みました。チェックポイントダンプでは更新内容を書き出し、そのダンプを基に操作することがあるんでしたっけ?
英作文添削お願いします「今年の初夢は奇妙だった。古館一郎とプロレス3本勝負するものだった。2番目の試合ではデッドロックでギブアップかちをおさめた。なかなか痛快だった。しかし、3本目で流血の目に遭い、病院に搬送され、3針ぬうはめになった。友人から見舞いのバナナが1トン届いた。10本立て続けに食べたら、下痢になり、入院が長引いた。翌朝目が覚めて、腐りかけたバナナを冷蔵庫からだして食べた。これが私の今年の正月である。」"This year my first dream was strange. I had three pro-wrestling match with Furudachi Ichiro. I won the second match by a deadlock and he gave up. It was exciting. But I bloodied during the third match and went to a hospital and had to have three stitches. My friend gave me one ton of bananas for help. I ate ten continually and this went to diarreha and I had to stay longer. I woke up next morning and I took out rotty bananas from the refrigerator. This is my New Year Holidays. "
ミススペルや三単現無視が見られますね。添削は大変です。例えば、MY FIRST DREAM OF THIS YEAR WAS VERY STRANGES.I HAD THREE PRO-WRESTLING MATCH(ES)←三単現FURUDACHIではなく、FURUTACHIですよね。ここまでで止めておきます。
質問です。 どの記述が正しいでしょうか? どうかよろしくお願い致しますm(_ _)m① 2つの資源 A,Bを占有する必要のあるプロセスP1,P2がある.P1は,Aをロック→Bをロック→A,Bにアクセス→A,Bのロックを解 除,という順に処理を行い,P2は,Bをロック→Aをロック→A,Bにアクセス→A,Bのロックを解除,の順に処理を行う.このとき,P1,P2はデッドロックに陥ることはない. ② コンテクストスイッチングとは,プロセス間通信を利用してプロセスの入出力先を切り替えることで ある. ③ レディ状態のプロセスは同時に複数存在し得る. ④ マルチプログラミングシステムでは,CPUが1つしかなくても実行状態のプロセスは同時に複数存在し得る. ⑤ プロセス毎に決められた優先順位に従ってスケジューリングを行うスケジューリング方策をラウンドロビンという.
① ② ⑤は正しくありませんが。③だけではなく④ も正しそうに見えます。今は1つのCPUが複数の実行ユニットを持っている事も珍しくない(マルチコア・ハイパースレッディング)ので『CPUが1つしかなくても実行状態のプロセスは同時に複数存在し得る』というのは存在し得ますね(CPUに依っては)と思います。
クイズ問題を解けずに(デッドロックに乗り上げた!?) 正倉院は校倉造(あぜくらつくり)で良さそうなんだが、5文字(ふたつの倉が平行して建ち中間連結部分云々)て何?? ***は12神将の1柱、別名金毘羅さん撥ー、槌ー、筒ーの**て? 杉田玄白らが回想録(解体新書)の苦心談の記、9文字?「ターヘル・アナトミア」和訳のこと?! くだらない・でたらめの話***? 以上解る人間(ひと)、御一報を願います。
1.もしかして「双倉(ならびくら)」のことかな。2.金比羅さんは「毘羅(くびら)大将」なので、「くびら」かな。3.「撥ー、槌ー、筒ー」は、すべて「音(おと)」が入ります。4.は先の回答の通り「蘭学事始(らんがくことはじめ)」。5.平仮名3文字なら「駄弁(だべん)」?「無稽(むけい)」?
250枚! この問題分かる人いませんか?1) H13 秋 基本情報 問69DBMS の排他制御機能に関する記述のうち、正しいものはどれか。ア DBMS が自動的に行うものと、アプリケーションプログラムがDBMS に明示的に指示して行うものとがある。イ オンラインでの更新時に行うべきものであり、バッチ処理による更新時には行う必要はない。ウ 関係(表)単位に行われることが多い。エ 第一の目的は、デッドロックの防止である。2) H15 秋 問44DBMSの排他制御に関する記述として,適切なものはどれか。ア データベースに障害が起きた場合,自動的にデータベースを復旧する機能 イ データを参照する際の優先順位を管理する機能 ウ データを同時に更新しようとしたとき,矛盾が起こらないようにする機能 エ デッドロックが起こらないようにする機能3) H16 春 基本情報技術者DBMS におけるデッドロックの説明として,適切なものはどれか。 ア 2相ロックにおいて,第1相目でロックを行ってから第2相目でロックを解除するまでの状態のこと イ ある資源に対して占有ロックと占有ロックが競合し,片方のトランザクションが待ち状態になること ウ あるトランザクションがアクセス中の資源に対して,ほかのトランザクションからアクセスできないようにすること エ 複数のトランザクションが,互いに相手のロックしている資源を要求して待ち状態となり,実行できなくなること4) H13 春 基本情報技術者 問68DBMS がチェックポイントで行う処理として,適切なものはどれか。ア 再実行すべきトランザクションのリストを作成する。イ データベース更新バッファの内容をデータベースヘ書き出す。ウ トランザクション完了ログを書き出す。エ ログバッファの内容をログファイルヘ書き出す。
あってる保障はないですが・・・1~3はいわゆるロック機能の話ですね。更新が同時に行われてデータの整合性が失われてしまうことを防ぐ機能です。更新用にロックをかけたデータには他のAPから更新できません。ロックが解除されるまで待つ必要があります。基本的にデータの更新時にDBMSが勝手に行いますが、APから明示的にロックすることもできます。行単位で行われることが多いです。たとえば、銀行でAからBにお金を1万円振り込むとき、Aの残高(10万円とします)を調べてからAの残高を1万円減らし、Bの残高を1万円増やすという操作をします。何らかの原因でBの残高を増やすことに失敗した場合を考えます。Aの残高はすでに減らされているので、減らした1万円を戻して、そんな処理はなかったことにしてやる必要があります。ここで、Aの残高を減らしてから、Bの残高を増やすまでの間に、Aの残高を半分にする処理が走っていたとします。Aの残高は1万円減って、半分にされ、1万円増えるので、最終的に5万5千円になります。残高を半分にする処理から見ると、残高を半分にしたかったのに、実際には10万円→5万5千円とおかしな結果になってしまっています。これを防ぐ機能がロックです。Aが1万円減ったあと、Bが1万円増えるまでAの残高を変えられないようにすると、このようなおかしな結果にはなりません。また、この時、Aの残高を調べてからAの残高を減らすまでの間に、Aの残高が変動すると、調べた意味がなくなります。そのため、Aの残高を調べた段階でロックをかけたいわけです。しかし、Aのデータが更新されるのはAの残高を減らす時なので、残高を調べた段階ではDBMSはデータを自動的にロックしてくれません。こういう時のためにAPが明示的にロックできるようになっています。デッドロックとは以下のような状況をいいます。1.AP1がデータAにロックをかける2.AP2がデータBにロックをかける3.AP1がデータBを更新しようとするが、ロックされているため待ち状態になる4.AP2がデータAを更新しようとするが、ロックされているため待ち状態になる5.結果としてAP1もAP2も待ち状態のまま進まなくなってしまう1) H13 秋 基本情報 問69DBMS の排他制御機能に関する記述のうち、正しいものはどれか。○ア DBMS が自動的に行うものと、アプリケーションプログラムがDBMS に明示的に指示して行うものとがある。イ オンラインでの更新時に行うべきものであり、バッチ処理による更新時には行う必要はない。ウ 関係(表)単位に行われることが多い。エ 第一の目的は、デッドロックの防止である。2) H15 秋 問44DBMSの排他制御に関する記述として,適切なものはどれか。ア データベースに障害が起きた場合,自動的にデータベースを復旧する機能イ データを参照する際の優先順位を管理する機能○ウ データを同時に更新しようとしたとき,矛盾が起こらないようにする機能エ デッドロックが起こらないようにする機能3) H16 春 基本情報技術者DBMS におけるデッドロックの説明として,適切なものはどれか。ア 2相ロックにおいて,第1相目でロックを行ってから第2相目でロックを解除するまでの状態のことイ ある資源に対して占有ロックと占有ロックが競合し,片方のトランザクションが待ち状態になることウ あるトランザクションがアクセス中の資源に対して,ほかのトランザクションからアクセスできないようにすること○エ 複数のトランザクションが,互いに相手のロックしている資源を要求して待ち状態となり,実行できなくなること4はトランザクションログとバッファの関係についてです。大きなデータを更新される度に毎回ディスクに書き込んでいては効率が悪いため、ある程度のバッファがメモリに展開されています。そのままではCPUなどが壊れた際にバッファ上のデータが失われてしまいます。なので、どこがどのように更新されたかという情報だけをディスクに書き込んでいます。それをトランザクションログ、REDOログなどといいます。トランザクションログだけならば小さいデータ量ですみますし、CPUなどが壊れた際もどこがどのように更新されたかという情報をもう一度たどっていけばデータを復旧できます。チェックポイントとは、メモリにあるバッファをディスクに書き込んで、現在の状態をディスクに反映させることをいいます。チェックポイントが発生するとトランザクションログとディスクの内容が一致するようになるので、トランザクションログとディスクの同期をとるという言い方もできます。4) H13 春 基本情報技術者 問68DBMS がチェックポイントで行う処理として,適切なものはどれか。ア 再実行すべきトランザクションのリストを作成する。○イ データベース更新バッファの内容をデータベースヘ書き出す。ウ トランザクション完了ログを書き出す。エ ログバッファの内容をログファイルヘ書き出す。
Cakephpのデッドロック回避方法を教えてください!!仕事でデッドロックを出さないようにしろと言われたのですが直せなくて困っています。内容の最後の方に3つ質問が書いてあります。できれば上から読んでほしいです■問題内容Cakephpで作ったWebアプリで画面遷移させるとCake_SessionsというテーブルにUPDATEを行うのですが、このとき、ボタン、リンク、F5連打などページを再読み込みさせるアクションをとるたびにUPDATEを行います。しかし、トランザクションを張っているにもかかわらず、Deadlockが発生しています。Webアプリ側で出しているログで確認しただけです。DBはFirebirdです■環境ブラウザ:IE8フレームワーク:cakephp(色々フレームワークにも修正を入れている状態…)DB:firebird言語:php5上記の細か一バージョンは覚えてない。■現状わかっている事と考察Firebirdに複数スレッドでアクセスし下記のように直接SQLを投げるSET TRANSACTION WAIT ISOLATION LEVEL READ COMMITTEDUPDATE文実行どれか1つのスレッドでCOMMITこの場合は最初にUPDATEを実行したスレッドをコミットするまでの間は他のスレッドはコミット待ち状態に入っていました。コミット後もデッドロックは起きませんでした。つまりFirebirdの問題とは考えにくい。ちなみにデッドロックはNoWaitになっているからだと言う人がいるがそれは大前提で、READ COMMITTEDもつけないとデッドロックが発生するケースがありました。CakePHPでもこのようにSQLを投げれば問題ないと思い修正を実施したが、デッドロックが発生する。ロールバックは正常にされるのでトランザクション自体はできている。CakePHPでは最終的にすべてのSQL文はibase_queryというphp関数を使ってFirebirdに投げていました。CakePHPで用意されているトランザクション処理もSET TRANSACTIONやCOMMIT、ROLLBACKなどをSQL文で投げてトランザクション処理を行うように作られていました。(別会社でフレームワークの中をいじっている)個人的にはibase_transという関数でトランザクション処理をしないとだめなのではと思っています。明日試すつもりです。■質問①デッドロックを確実に回避することができるかどうか? 簡潔にYESかNOでいうとどっちですかね?できればその後理由も教えてほしいです。②ibase_transを使わずにibase_queryだけでデッドロックは回避できるのか?(私はできないと思っています)③Cakephpでibase_transを使わずにトランザクション処理をしているのはなぜ?
Firebird、CakePHP使ったことがないので(1)のみYesです。やり方はReadからUpdate、Commitまでロックをかけてしまう(悲観的ロック戦略)。またはUpdate時にRead時から他のトランザクションから変更がかけられていないか確認してから処理を行いCommitする(楽観的ロック戦略)。でできると思うのですが。
【C++】クリティカルセクションとかデッドロックについて質問です【マルチスレッド】今、マルチスレッドを利用してゲームを作っているのですが、どうやらデッドロックが発生しているらしく、ほぼ確実にハングするようになってしまいました。仕様を以下に示すので、問題点について心当たりのある方は回答願います。・ゲームの内容はロックマン風の2Dジャンプアクション。・ゲームに関連するスレッドは2つ。1つは当たり判定や物体の追加・削除を行うもの。1つは画面表示するだけのもの。・ステージ管理クラスではstd::vector<charaBase*>で、ポインタの配列という形で全ての物体を管理しており、読み込み中にpush_backやpop_backをしないようにクリティカルセクションを利用している。charaBaseとは全ての物体クラスの基底クラス。・イテレータを回すだけでvectorに変化を与えない処理の場合は、処理の前にreadCountというint型変数をインクリメントし、処理の後にreadCountをデクリメントしている。ただし、インクリメントの部分だけEnterCriticalSection、LeaveCriticalSectionで囲ってクリティカルセクションに入っている。デクリメントはクリティカルセクションに入らない。・push_backなどのvectorに変化をもたらす処理の場合、全体がクリティカルセクションに入っている。またEnterCriticalSectionの直後に while(readCount > 0); という無限ループに入り、読み込み処理が行われている限りpush_backなどしないようにしている。ちなみに画面表示スレッドでは、こういうpush_backなどを行う処理は一切行なっていない。単純ミスの可能性もあるかも知れませんが、その場合でもどのようなミスが考えられるか助言頂ければ、ありがたいです。
根本的な疑問ですが、PCゲームでスレッド分けしなくて良いのでは?読み込み処理だけスレッドなら分かるのですが。>ちなみにreadCountはポインタで、クラスコンストラクタでnewしてます。これについてはどのような問題が考えられますか?volatile定義されていないとか。
PAGE TOP
テレビ ブロードバンド 新着番組ランキング
更新日:2012/05/21