VSハッカソン倶楽部 非同期勉強会 に参加
biacさんの追っかけで参加してきました
VSハッカソン倶楽部 - 非同期勉強会
http://vshtc.doorkeeper.jp/events/10442
お昼は大阪っぽいもの食べようと難波周辺を徘徊していたんですが、ふと大阪王将が目に付いたので大阪王将に初めて入りました。大阪王将は名古屋では見かけないですし。秋葉原にはあった希ガス。お味の方が普通の定食屋のような感じでしたね。めっちゃ美味いって訳ではないけど、飽きない感じだった。
開会
70人枠の定員一杯人が集まっていた。
PowerPontのブロードキャスト配信をやっていたようだけど、プロ生では2010年頃はやっていたけど今は止めてしまったな。今回みたいに皆さんPowerPoint環境なら問題ないのだけど。
そういえば、勉強会中にこれだけ人がいるのなら座席表的なものは作らないのかなー?と思ったけど誰もやらなかった。
Async History in .NET by [twitter:@xin9le]さん
-
- 前半は7段階に非同期・並列処理の歴史を分類しての解説
- Thread
- Thread Pool
- Async Programming Model
- Event-Based
- WinFormsで使われるスタイル。
- スレッド処理と呼び出し部分を分離して書ける
- Task-Based
- .NET Framework 4.0以降
- 処理の流れで書けるようになった
- Reactive Extentions
- .NET Framework標準には含まれない外部ライブラリ。
- Async/Await
- .NET Framework 4.5以降
- 後半はxin9leさんが非同期処理を勉強しようと思ったきっかけや現在に至るまでの経緯
- 前半は7段階に非同期・並列処理の歴史を分類しての解説
C#の高速化入門 by 森理麟さん([twitter:@moririring])
-
- 自己紹介
- C#を始めたきっかけは非同期処理をやりたかったから
- 用語整理
- 今回のセッションでの用語のコンテキスト合わせ
- 高速化
- デモ用プログラムを交えて色々な高速化手法を紹介
- ターンアラウンドタイム
- wikipedia:パレートの法則
- ボトルネックになる処理は全体の1〜2割の処理。そこに絞り込んで高速化する
- wikipedia:パレートの法則
- スループット
- マルチコア+非同期処理は速い
- レスポンスタイム
- コマンドプロンプトのキャレットのようなUX大事
- 自己紹介
C++/CXの非同期処理まとめ by 遥佐保さん([twitter:@hr_sao])
Windows ストア アプリでスレッド間排他処理 by [twitter:@biac]さん
-
- C#によるマルチコアのための非同期/並列処理プログラミングの第4章がベース
- wikipedia:ラングトンのループ ※英語版のページを読む事を推奨
- デモ
- WindowsユニバーサルアプリをWindows Phone 8.1のエミュレーター上で動作させるデモ。
- 高速化のアプローチ
- 計算と画面描画を非同期化
- 観測と状態決定を並列化
- ロジックの見直し
- Windowsストアアプリでスレッド間の排他処理
- バインディングソースを非同期に更新すると競合
- バックグラウンドタスクの終了トリガーの受け取りを通常処理も使う処理にすると競合
- UIのイベントハンドラはawaitしても待ってくれない
- 排他するしかない
- awaitの前後では実行スレッドが変わっている可能性が有る。
- .NET Frameworkが提供するロック処理クラスには Thread Affinity に依存するものと依存しないものがある。
- Thread Affnityに依存
- Monitor(Lock構文)
- SpinLock
- ReadWriteLock
- Mutex
- Thread Affnityに非依存
- SemaphoreSlim
- Thread Affnityに依存
- awaitで使える排他機構
- C#によるマルチコアのための非同期/並列処理プログラミングの第4章がベース
セッション内容的には、わんくま同盟 名古屋勉強会 #28での発表に、排他処理の解説を加えた感じかな。
.NET Frameworkの排他機構ってあまり詳しく調べた事無かったけど、色々勉強になりました。
非同期処理の基礎知識 by 岩永さん([twitter:@ufcpp])
-
- CPUの内部状態といったH/Wレベルの低レイヤーからスレッド処理やタスク処理がどのように実行されるのかを解説。
- それにより、場面場面でどのような実装をするのが適切なのかを解説する流れ。
- CPUの内部状態といったH/Wレベルの低レイヤーからスレッド処理やタスク処理がどのように実行されるのかを解説。
プロ生やBoost.勉強会と来て今回で岩永さんのセッションを聴くのは3回目。岩永さんのセッションは分かりやすいけども、何だか説明が早くてあまり記憶に残らない・・・。
Lightning Talks
かなり時間押しの状況で1人4分でのLT。
[twitter:@yone64]さん
-
- WPFと非同期
- Dispatcherの優先度指定の話が中心
- 別スレッドからアクセスしたい場合、Dispatcherを使う以外にFreezableクラスの機構を利用できる
- Dispatcherの優先度指定の話が中心
- WPFと非同期
時間切れで結論は言えずに終了。
[twitter:@pocketberserker]さん
-
- F# MVP
- C#とF#の非同期の落とし穴
- async voidは使ってはいけない
- F#のAsync
- F#が登場した.NET Framework 2.0の時からF#のAsyncは実装されている。
[twitter:@StoneGuitar777]さん
-
- Codeer.Friendlyの機能紹介
- Nugetで「Codeer」で検索。
- http://www.codeer.co.jp/AutoTest
- 機能
- 実行中のプログラムにアタッチして、そのプログラム内の任意のメソッドが呼び出せる
- DLLインジェクションできる
- テストの自動化で利用できる
- Codeer.Friendlyの機能紹介
???さん
全く知らないライブラリだったけど、これNativeアプリでも使えるし良いな。
???さん
-
- Scalaで非同期
- MOOC(Massive Open Online Cource)
- https://www.coursera.org などが有名
- 4/25に始まったFunctional Programming Principles in Scalaはお薦め。
- MOOC(Massive Open Online Cource)
- Scalaで非同期
閉会
プレゼントの書籍2冊のじゃんけん大会して終了。
つぶやきまとめを見ていたら、C++ AMPの希望者いなかったのか。貰えば良かったかな。まあKindle版なら1700円位だけど。
帰り際に[twitter:@kiyokura]さんが[twitter:@biac]さんと名刺交換していたけども、biacさんの名刺が切れていた。
懇親会
不参加。