タグ

ブックマーク / matsu-chara.hatenablog.com (2)

  • ExecutionContextとblockingについて調べたメモ [scala] - だいたいよくわからないブログ

    この記事の結論 globalなExecutionContextではブロックする処理をblockingで包むとスレッド数が勝手に増えるから空きスレッドが無くて実行できないといったことを防げる。 ExecutionContext.fromExecutorService(new ForkJoinPool(100)) で生成されるThreadはBlockContextトレイトを継承してないのでblockingを使ってもスレッド数を増やした方が良いという情報がスケジューラに伝わらない。 akkaのdispatcherをExecutionContextとして使うとBlockContext付きのForkJoinPoolを簡単に作れる。 ExecutionContext.fromExecutorServiceでもForkJoinPoolのコンストラクタに自前定義したThreadFactoryを渡すようにす

    ExecutionContextとblockingについて調べたメモ [scala] - だいたいよくわからないブログ
    kimutansk
    kimutansk 2016/03/13
    ブロッキングの扱いと、どのプールを使うかに集約される形ですか。わかりやすいと同時に、Akkaのチューニングも通常の並行処理と同じと。特別な要素はないわけですね
  • 継続モナドが分からなくてもActionContの嬉しさなら何とか分かる気がした。 - だいたいよくわからないブログ

    某会社の某アカウントシステムで使われているという継続モナドコントローラーですが、 今までいまいちよくわかっていなかったのですが友達に教えてもらってなるほど!と思ったので書き記します。 ActionCont 継続モナドコントローラー(ActionCont)については以下の記事で解説されています。 なぜPlayのコントローラで継続モナドを使うと便利なのか? PlayFramework - 継続モナドを使ってWebアプリケーションのコントローラーを自由自在に組み立てる - Qiita 記事では「継続 = 何か残りの処理が呼べるやつ」という雑かつ不正確な認識でもActionCont便利じゃん!使ってみよ!と感じられることを目指すので、なんとなくの概要が頭に入っていればよい(はず)です。(なので、ActionContのメリットなどがもうわかってる人にとっては当たり前じゃん?みたいな内容です) Sc

    継続モナドが分からなくてもActionContの嬉しさなら何とか分かる気がした。 - だいたいよくわからないブログ
    kimutansk
    kimutansk 2016/02/08
    Filterを多段で重ねる場合に一か所に集約される、と。JavaだとAOPでやりますが、Scalaだとそういう仕組みなしでも出来るということですか。修飾用の関数を仕込むイメージ?
  • 1