がーっと読んだ。実際に使うときの思い出しトリガーになるようにメモしておく。 Java言語で学ぶデザインパターン入門 マルチスレッド編 マルチスレッドプログラムの評価基準 安全性 オブジェクトを壊さないこと スレッドセーフなクラス 生存性 必要な処理が行われること 安全性を重視しただけでは生存性を下げてしまう場合がある。例えばデッドロック。 再利用性 クラスを再利用できること スレッドの排他制御の仕組みや方針をうまくクラスの中に隠蔽すれば、再利用性の高いプログラムになる。 パフォーマンス 処理を高速・大量に行えること 安全性と生存性を守るのは必須。その上で、いかにして再利用性とパフォーマンスを上げるかが重要。 Single Thread Execution 「この橋を渡れるのは、たった一人」 複数のスレッドがインスタンスを共有する場合の基本パターン クリティカルセッション(インスタンスが不安
I was looking for a safe way to initialize a property on individual instances of an object. “Safe” as in “thread-safe”, because nowadays you never know… with GCD it could just happen that an object is used from multiple threads concurrently. I felt the need to chronicle the findings here one the different approaches I tried. In DTCoreText I have a class that represents one line of text. I wanted t
libuv 専用スレッドと通常の Objective-C スレッドとのやりとりの仕方、ついでに書いておく。 tl;dr - libuv スレッドから Objective-C スレッドに対して何か送るときは Objective-C の作法がそのまま使える。逆は uv_async を使う libuv スレッドから Objective-C スレッド これは Objective-C の世界の作法がそのまま使える。 iOS4+ と OSX 10.6+ であれば GCD で、 dispatch_async(dispatch_get_main_queue(), ^{ // ここはメインスレッド }); のようなのを書くだけでメインスレッドの動作を定義できるから、そこでメソッド呼ぶなり Notification を発行するなりすれば良いので楽ちん。 それ以下の環境だったら performSelector:
public class HelloAndroid extends Activity { ProgressDialog progressDialog; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // ProgressDialogのインスタンスを生成する progressDialog = new ProgressDialog(this); // ProgressDialogのスタイルを設定する progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); // メッセージを設定する progressDialog.setM
We make society rich ITは今や、企業活動ならびに個人の生活からも切り離せないほどの大きな存在となっています。 ITの技術向上は、間違いなく社会を豊かにすることにつながるものと考えております。 SORICHは、ITにおける技術向上、クオリティ向上をめざし、社会に大きく貢献してまいります。 開発実績 Development record FX取引システム 金融 Java JavaScript MySQL 大規模なトランザクション処理が要求されるプライスボート、注文機能等、リアルタイム性の高いフロントシステム開発に加え、法廷帳簿出力を含めたバック業務システムなど、FX事業を運営する上で必要となる包括的なシステムを供給。 非常に高い品質を求められるシステムのため、ミスが許されないというプレッシャーの毎日でした。 レンタル端末在庫管理 IT Java PHP JavaScrip
やりたいこと Javaで、プログラムを一時中断させたい。 そこで、sleep関数的なものを入れる、という話 やってみる それで、sleep関数を探してみると、Threadクラスの中にありました。 (Threadクラス以外にはないっぽい) sleep関数の定義は、以下のようになっています。 public static void sleep(long millis) throws InterruptedException そこで、メインのプログラムに以下の行を挿入します。 try{ Thread.sleep(3000); //3000ミリ秒Sleepする }catch(InterruptedException e){} これで、無事にプログラムを一時中断できました。 #スレッドって、複数並列実行させるためにあると思っていたけど、メインはメインスレッドとして動いているんですね。Thread.sl
AndroidでWeb APIを使う場合、マルチスレッドによるユーザビリティ向上を以前のエントリで説明しました。 AndroidアプリのUIはシングル・スレッド モデルです。 単純にマルチスレッドにしてUIの操作をしてしまうと、CalledFromWrongThreadExceptionでアプリがダウンしてしまいます。 これを回避する仕組みがHandlerです。 Handlerの仕組みを簡単に説明しようと思ったのですが、 またもや長くなってしまったので、先にまとめます。 AndroidのUI操作はシングル・スレッド モデル ユーザビリティ向上の為にはマルチスレッドが必要 Handlerで実現 Handlerを使わない場合に起きる例外は実行スレッドのチェックで発生 Handlerを使うと、UI Threadの持つキューにジョブを登録できる キューはUI Threadにより実行される
Web Workersの使用例 ウェブサイトでJavaScriptを使用する場合、通常ならばスクリプトの実行中はページの表示処理が止まってしまうため、あまり長い時間のかかる処理を行うのは好ましくない。その点Web Workersを利用すればバックグラウンドでスクリプトを実行しながら、同時に他の処理を継続するできるため、ユーザに対して素早くレスポンスを返すことが可能となる。 リスト1およびリスト2はWHATWGのドラフトに掲載されたWeb Workersの使用例である。find-primenumber.htmlではworker.jsを指定してWorkerオブジェクト作成し、worker.jsでは素数を計算し続ける。 リスト1 find-primenumber.html - Web Workersの使用例 最大の素数を計算中: リスト2 worker.js - 素数を計算するJavaScrip
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く