タグ

2011年12月21日のブックマーク (8件)

  • .NET TIPS スレッド・セーフなコレクション・オブジェクトを作成するには? - C# - @IT

    例えば、ArrayListオブジェクトの場合には、次のようにしてスレッド・セーフなコレクションを得ることができる。 ArrayList dangerousList = new ArrayList(); ArrayList safeList = ArrayList.Synchronized(dangerousList); この場合には、safeListオブジェクトに対するすべてのメソッドの呼び出しは同期を取りながら実行されるため、そのオブジェクトのロックは不要となる。 Synchronizedメソッドにより作成されるラッパー・オブジェクト Synchronizedメソッドが返すオブジェクトは、実際には各コレクション・クラスを継承したクラスのオブジェクトであり、そのクラスはコレクション・クラスのラッパー・クラスとなる。 例えばArrayListクラスの場合には、そのラッパー・クラスの名前は実際

  • 第4回 デッドロックの回避とスレッド間での同期制御 ― マルチスレッド・プログラミングにおける排他制御と同期制御(後編) ―

    第4回 デッドロックの回避とスレッド間での同期制御 ― マルチスレッド・プログラミングにおける排他制御と同期制御(後編) ―:連載.NETマルチスレッド・プログラミング入門(3/3 ページ) マルチスレッドに関するそのほかの話題 マルチスレッド・プログラミングの基礎についての話題は以上であるが、よりマルチスレッドを活用するためのいくつかの話題を簡単に紹介しておこう。 ■Mutex(ミューテックス)による排他制御 Mutexクラス(System.Threading名前空間)はlockステートメントと同じ排他制御を行うための手段である(「mutex」とは「相互排除」の意味)。Mutexオブジェクトを作成し、WaitOneメソッドでロックを取得し、ReleaseMutexメソッドでロックを解放することで排他制御を行う。 lockステートメントとの違いは、Mutexクラスではスレッド間だけではなく

    第4回 デッドロックの回避とスレッド間での同期制御 ― マルチスレッド・プログラミングにおける排他制御と同期制御(後編) ―
  • 第2回 .NETにおけるマルチスレッドの実装方法を総括

    ThreadPoolクラスによるマルチスレッド サーバ型のプログラムなどで、リクエストが次々と送られてきて、その1つ1つに対する処理をマルチスレッドで動作させたいようなときには、スレッドプールを利用した方がリソース的には効率がよいことは前述したとおりである。 次のList2は、スレッドプールを使用したサンプル・プログラムである。このプログラムでは、2つの処理をスレッドプールに登録し(スレッドプールのキューに追加し)、それぞれを別スレッドで実行する。 using System; using System.Threading; public class List2 { public static void Main() { // ThreadMethodをスレッドプールで実行できるように // WaitCallbackデリゲートを作成 WaitCallback waitCallback = n

    第2回 .NETにおけるマルチスレッドの実装方法を総括
  • ThreadPool.QueueUserWorkItem メソッド (System.Threading)

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。

    ThreadPool.QueueUserWorkItem メソッド (System.Threading)
  • Drobo Apps - Drobo

    Drobo makes award-winning data storage products for Small and Medium Businesses and Individual Professionals that provide an unprecedented combination of sophisticated data protection and management features, affordable capacity, and ease-of-use. How It Works – BeyondRAID

    Drobo Apps - Drobo
  • Connecting to the iTunes Store.

    tarchan
    tarchan 2011/12/21
    >オープニングステージ以降は450円オープニングステージだけで450円
  • ソーシャルゲームの社会的意義 - Nothing ventured, nothing gained.

    先日、NHK朝のニュースでソーシャルゲームが取り上げられていた。ニュースではソーシャルゲームの制作の裏側としてユーザーの操作ログを解析し、それを元にシナリオを変更することなどが紹介されていた。 ソーシャルゲーム運営会社としては、多くのユーザーに長い時間ゲームをしてもらうことがビジネスの成長に繋がる。広告収入とともに収入の柱となっているアイテム課金もログ解析などを通じてユーザー心理を読むことで多くのアイテムの販売に繋げられる。 このようなユーザーの行動を分析する手法は業界では広く知られていることであるが、ニュースを見終わった後、どうにも気持ち悪かったので、ついTwitterでつぶやいてしまった。 #nhk の朝のニュースでソーシャルゲームが取り上げられていたけれど、アイテム課金やゲームの機能を利用者の状況にあわせて変更していくことが、どうしてもパチンコの出玉調整や闇組織が人をシャブ漬けにして

    ソーシャルゲームの社会的意義 - Nothing ventured, nothing gained.
  • すべてのWebはアプリケーション化する… ということはない - Nothing ventured, nothing gained.

    静的な情報の送受信から始まったWebはAJAXという技術革新を経て、今アプリケーションとしてのプラットフォームとなり、その中で動的な対話性が重視されるようになっている。 これが、私なども良く言う、現在のWebの状況だ。HTML5が出てきた背景もこれにある。 だが、すべてのWebはアプリケーション化する とまで言うのは行き過ぎだ。私も口がすべってこう言ってしまったこともあるかもしれない。ウソではないが、誤解を招く可能性がある。 情報の受発信というのは今でも重要なWebの役割の1つだが、その役割だけとってみても、目に見えるものがすべてのものであるという体験は必要だ。たとえば、新聞を考えてみよう。新聞は古い技術の象徴のように思われているが、俯瞰して見た時に全体の記事をスキャニングできるなど、実は非常に汎用性の高いフォーマットである。 マウスをホバーしたり、クリックして、現れるコンテンツ。そのよう

    すべてのWebはアプリケーション化する… ということはない - Nothing ventured, nothing gained.
    tarchan
    tarchan 2011/12/21
    Gmailの新しいデザインのことですね。>マウスをホバーしたり、クリックして、現れるコンテンツ。そのような作業は単純にコンテンツを見たいという利用者にとって苦痛以外の何ものでも無いこともある。