2010年12月23日 23:31

ScalaSTMについていろいろ実験した結果

ScalaSTMについていろいろ実験した結果のメモ。
久しぶりのブログ更新だが。

val aa = Ref(...);

atomic { implicit txn =>

  val a = aa();

  // ここでなにか処理をする
  // この間に他のスレッドが aa() に書き込みをするとする

  // このあとに、読み込みまたは書き込みをする
  val b = aa(); // 読み込みをする
  // または
  aa() = ...; // 書き込みをする

  // するとこのタイミングで
  // scala.concurrent.stm.skel.RollbackError$
  // の例外が発生し
  // このあとのatomicブロックの残りのコードは
  // 実行されない
  ...; // 実行されず

  // scala.concurrent.stm.skel.RollbackError$ は
  // atomic の実装がキャッチして、
  // atomicブロックを再実行する

}

atomic { implicit txn =>

  val a = aa();

  // ここでなにか処理をする
  // この間に他のスレッドが aa() に書き込みをするとする

  try {
    aa() = ...; // 書き込みをする
  } catch {
    case e => ;
    // scala.concurrent.stm.skel.RollbackError$
    // をキャッチしてしまうと、
  }
  // このあとのコードは引き続き実行される
  ...;

  // たとえ RollbackError を例外を
  // キャッチして飲み込んでも、
  // ロールバックはされる
  // atomicブロックは再実行される

}

atomic { implicit txn =>

  ...;

  // atomic はネストすることができる
  atomic { implicit txn =>

    ...;

  } // 正しく処理されコミットされたとする

  ...;
  // ここでロールバックされる事態となった場合、
  // 内側の atomic で実行された内容も含めて
  // ロールバックされる

}
タグ:scala
カテゴリ:テック
2010/12/23 Thu 23:31 | Comment(1) | TrackBack(0) | テック | このブログの読者になる | 更新情報をチェックする

2010年08月25日 11:48

任意のURLにジャンプするためだけのフォーム

任意のURLにジャンプするためだけのフォーム
URL:
タグ:javascript
カテゴリ:テック
2010/08/25 Wed 11:48 | Comment(0) | TrackBack(0) | テック | このブログの読者になる | 更新情報をチェックする

2010年06月15日 17:49

iPadのUserAgent

iPadのUser Agentを確認したら、

Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; ja-jp) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10

であった。
3GモデルでもWiFiモデルでもまったく同じだった。
タグ:iPAD
カテゴリ:テック
2010/06/15 Tue 17:49 | Comment(0) | TrackBack(0) | テック | このブログの読者になる | 更新情報をチェックする

2010年06月13日 19:51

iPadのwifi版と3G版

左がiPadのWi-Fiモデル。右がiPadのWi-Fi+3Gモデル。3Gには上に黒い帯がついています。

4695186871_7d5094e7f0_z.jpg

4695821838_94d68d934e_z.jpg


Wi-Fiモデルは会社のもの。3Gモデルは、きのう池袋のヤマダ電機で昼に予約したら、夕方に入荷したとの連絡を受け、本日昼に受け取りに行ったもの。
タグ:iPAD
カテゴリ:日記
2010/06/13 Sun 19:51 | Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2010年06月06日 18:16

6月6日のトマト

Image367.jpg
きのう実を少し収穫しました。食べれました。
カテゴリ:植物成長記録
2010/06/06 Sun 18:16 | Comment(3) | TrackBack(0) | 植物成長記録 | このブログの読者になる | 更新情報をチェックする

2010年06月03日 22:26

6月3日のオフィストマト

Image364.jpg
カテゴリ:植物成長記録
2010/06/03 Thu 22:26 | Comment(0) | TrackBack(0) | 植物成長記録 | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。