ITコンサルの日常

ITコンサル会社に勤務する普通のITエンジニアの日常です。

2008-03-02から1日間の記事一覧

デッドロック回避

C#

プログラミングC# p526ロックすべき共有リソースが二つある場合、そのアクセス順を同じにしておかないとデッドロックが発生します。 例えばこんな感じ。 using System; using System.Threading; class ThreadTest { private static Object lockObj1 = new Ob…

スレッドセーフな処理(Monitorクラス)

C#

プログラミングC# p520同じ処理をMonitorを使ってやってみる。 using System; using System.Threading; class ThreadTest { private static int zandaka = 1000000; private static Object lockObj = new Object(); static void Main(string[] args) { Threa…

スレッドセーフな処理(lockキーワード)

C#

プログラミングC# p519同じ処理をlockを使ってやってみる。 using System; using System.Threading; class ThreadTest { private static int zandaka = 1000000; private static Object lockObj = new Object(); static void Main(string[] args) { ThreadSt…

スレッドセーフなカウンタ(Interlockedクラス)

C#

プログラミングC# p515排他制御の典型的なやつ。入金と出金。 残高が100万円ある口座に対して、20万円の引き出しと30万円の預け入れを同時にやってみる。 using System; using System.Threading; class ThreadTest { private static int zandaka = 1000000; …

スレッド

C#

プログラミングC# p505まずはサンプルを単純化してコピる。 using System; using System.Threading; class ThreadTest { static void Main(string[] args) { Thread t = new Thread(new ThreadStart(delegate(){ for(int i=0; i<30; i++) { Console.WriteLin…