メニュー

関連ページリンク

トップ > image > image - 人気ブログ(Blog)検索結果詳細 (2008年12月1日 8時)

[java][スレッド][ネタ]殺伐としたプログラム

@daichan4649に「殺伐としたプログラムしか見ていないのでいつも癒されます」と言われたのだけど、「殺伐としたプログラム」ってどんなのだろう? こうですか?わかりません >< lockしたらunlockしません。早い者勝ち ソースはこれ

作者:nowokay

更新日:2008年12月1日 9時51分

このブログのホーム

[java][スレッド]Lockのサンプル

Javaの同期の基本はsynchronizedなのだけど、synchronizedはブロックとして使わないといけないので使いづらい場合がある。ロックの取得と開放を同じメソッド内で行わなくてはいけないし、異なるロックを自由なタイミングで取得開放できない。 そこで使うのがLockなのだけど、とりあえずsynchronizedと同じ使い方でのサンプル。 真ん中から向こうは一両の「電車」しか同時に進めません。 Lockの実装クラスとしては、ReentrantLockが用意されています。 Lock loc ...

作者:nowokay

更新日:2008年11月30日 15時41分

このブログのホーム

[java][スレッド]ReadWriteLockのサンプル

では、ReadWriteLockのサンプル。 読み込みスレッドは互いにロックせず、書き込みスレッドは他のスレッドとは同時に動かせない、というロックです。 サンプルでは、「か電車」が書き込みスレッド、「電車」が読み込みスレッドです。「か電車」が動くときには他のスレッドは動けません。 ReadWriteLockの実装としては、再入可能なReentrantReadWriteLockが用意されているので、これを使います。 ReadWriteLock lock = new ReentrantReadWri ...

作者:nowokay

更新日:2008年11月29日 15時13分

このブログのホーム

[Java][スレッド]CyclicBarrierのサンプル

こないだのときは説明できなかったけど、CyclicBarrier いくつかのスレッドがバリアにたどりつくまで待ちます。 このサンプルではスピードの違う「電車」がまんなかで全ての「電車」がそろうまで待ちます。 コンストラクタでいくつのスレッドを待つかを決めます。 CyclicBarrier barrier = new CyclicBarrier(10); awaitメソッドで、ほかのスレッドがバリアにたどりつくのを待ちます。 barrier.await(); ソースはこれ

作者:nowokay

更新日:2008年11月28日 11時50分

このブログのホーム

[Java][スレッド]Semaphoreのサンプル

こないだのスレッド入門のときに見せてたサンプル。 ブログ用に再構成。「電車」が3つずつ動きます。 Semaphoreは、同時に実行できるスレッド数を制限できます。 このサンプルでは3つに制限しています。 static Semaphore semaphoe = new Semaphore(3); セマフォのロック取得はaquireメソッド semaphoe.acquire(); セマフォの開放はreleaseメソッド semaphoe.release(); ということでソース

作者:nowokay

更新日:2008年11月27日 10時6分

このブログのホーム

[java][スレッド][ネタ]殺伐としたプログラム

@daichan4649に「殺伐としたプログラムしか見ていないのでいつも癒されます」と言われたのだけど、「殺伐としたプログラム」ってどんなのだろう? こうですか?わかりません >< lockしたらunlockしません。早い者勝ち ソースはこれ

作者:nowokay

更新日:2008年12月1日 0時51分

このブログのホーム

[java][スレッド]Lockのサンプル

Javaの同期の基本はsynchronizedなのだけど、synchronizedはブロックとして使わないといけないので使いづらい場合がある。ロックの取得と開放を同じメソッド内で行わなくてはいけないし、異なるロックを自由なタイミングで取得開放できない。 そこで使うのがLockなのだけど、とりあえずsynchronizedと同じ使い方でのサンプル。 真ん中から向こうは一両の「電車」しか同時に進めません。 Lockの実装クラスとしては、ReentrantLockが用意されています。 Lock loc ...

作者:nowokay

更新日:2008年11月30日 6時41分

このブログのホーム

[java][スレッド]ReadWriteLockのサンプル

では、ReadWriteLockのサンプル。 読み込みスレッドは互いにロックせず、書き込みスレッドは他のスレッドとは同時に動かせない、というロックです。 サンプルでは、「か電車」が書き込みスレッド、「電車」が読み込みスレッドです。「か電車」が動くときには他のスレッドは動けません。 ReadWriteLockの実装としては、再入可能なReentrantReadWriteLockが用意されているので、これを使います。 ReadWriteLock lock = new ReentrantReadWri ...

作者:nowokay

更新日:2008年11月29日 6時13分

このブログのホーム

[Java][スレッド]CyclicBarrierのサンプル

こないだのときは説明できなかったけど、CyclicBarrier いくつかのスレッドがバリアにたどりつくまで待ちます。 このサンプルではスピードの違う「電車」がまんなかで全ての「電車」がそろうまで待ちます。 コンストラクタでいくつのスレッドを待つかを決めます。 CyclicBarrier barrier = new CyclicBarrier(10); awaitメソッドで、ほかのスレッドがバリアにたどりつくのを待ちます。 barrier.await(); ソースはこれ

作者:nowokay

更新日:2008年11月28日 2時50分

このブログのホーム

[Java][スレッド]Semaphoreのサンプル

こないだのスレッド入門のときに見せてたサンプル。 ブログ用に再構成。「電車」が3つずつ動きます。 Semaphoreは、同時に実行できるスレッド数を制限できます。 このサンプルでは3つに制限しています。 static Semaphore semaphoe = new Semaphore(3); セマフォのロック取得はaquireメソッド semaphoe.acquire(); セマフォの開放はreleaseメソッド semaphoe.release(); ということでソース

作者:nowokay

更新日:2008年11月27日 1時6分

このブログのホーム