Akira Takahashi @cpp_akira なるほどー。 RT @laysakura: @cpp_akira コルーチンとファイバーは同じ物の違う呼び方で,継続はコルーチンを使ってできる操作だと理解しています 2011-07-11 09:18:26
![fiber と coroutine](https://cdn-ak-scissors.b.st-hatena.com/image/square/d1612285485c1d0029057fe7b49aee2fb449a1a9/height=288;version=1;width=512/http%3A%2F%2Fs.togetter.com%2Fstatic%2Fweb%2Fimg%2Ftg%2Fogp_default.png)
昨日、マルチスレッドなプログラムのコードを読んでたんです。マルチスレッド。 そしたらなんかロックがめちゃくちゃ競合しててパフォーマンスが出ないんです。 で、変更履歴よく見たらなんか全メソッドを一つのmutexでロックして、マルチスレッドに対応した、とか書いてあるんです。 もうね、アホかと。馬鹿かと。 お前らな、単一mutexで囲うだけの対応如きでマルチスレッド対応とか言ってんじゃねーよ、ボケが。 単一mutexだよ、単一mutex。 なんかthreadを作りまくってる箇所もあるし。多重ループの内側でthread生成か。おめでてーな。 よーしデータを細分化してガンガン別スレッドで処理しちゃうぞー、とかやってるの。もう見てらんない。 お前らな、Fork/Joinフレームワークのスレッドプール実装やるからそれ使えと。 マルチスレッドってのはな、もっと殺伐としてるべきなんだよ。 Work-stea
今まで何の説明も無しに自分のアプリで使ってきた謎ライブラリ concurrent.el ですが、一区切りが付いた気がしましたのでリリースしたいと思います。 この記事では concurrent.el の基盤である deferred.el について簡単に紹介して、 concurrent.el の機能と適用例を紹介します。 あらすじ deferred.el復習 concurrent.el紹介 機能一覧、コード例 cacoo.elでの設計解説 deferred.el 紹介 deferred.el の詳しい使い方やAPIなどはREADMEの文書がまとまっていますので、手っ取り早く使いたい人はそちらを参照してみてください。 おそらく、他の言語でDeferredに慣れていればすぐに使えるのではないかと思います。 deferred.el リリース - 技術日記@kiwanami (リリース記事:慣性スクロ
長い文章になってしまったので、概要だけ先に書きます。 以下のJavaプログラムは、常に上から下に順番に命令が実行されると思いますか?つまり、aに1が格納された後に、bに2が格納されると思いますか? 実は場合によってはこの実行順序が入れ替わる場合があります。これはJavaの言語仕様として定義されていることです。これを考慮しないと信頼性のある並行処理は実装できません。 気になる人は以下を読んでみてください。 a = 1; b = 2; すでにインターネットは社会インフラ化しています。ソーシャルネットワークで多くの人とコミュケーションやコラボレーションできる時代で、個人が情報を作り消費することは当たり前になってきています。そして、インターネット上のコンテンツは増加の一途を辿っています。「情報爆発」なんて言葉も耳慣れた言葉になりましたが、その問題解決のためにMapReduceなどの分散処理技術に注
kumagi @kumagi_bot IBM paper: STM is a “Research Toy” EPFL paper: STM is not just a Research Toy ほんと面白いなこの人たち。 2011-01-23 21:19:06 kumagi @kumagi_bot Our current focus: single-chip, multicore systems of next few years. だと…数年以内にマルチコアのHTMチップを出すよと言ってるように見えるんだが…! 2011-01-23 21:53:13 kumagi @kumagi_bot 'How scalable is “scalable enough”?' これ切実な問題なんだろうなぁ。lock-freeなSTM作ったらスケーラビリティは高いかもしれないけれどスループットは低下するだ
In Visual Studio 2022 17.10 Preview 2, we’ve introduced some UX updates and usability improvements to the Connection Manager. With these updates we provide a more seamless experience when connecting to remote systems and/or debugging failed connections. Please install the latest Preview to try it out. Read on to learn what the Connection ...
縦軸が時間、横軸がタスクと覚える。 なにやら縦棒が多ければ、同時に実行する様を表している。 なにやら横棒が多ければ、タスク同士が通信しながら実行する様を表している。 行と列の覚え方のパクリです。 以下余談。 タイムシェアリング *1 のことを concurrent という人もいる *2 けれど、何人かの有識者に聞いてみたところ、「複数のタスクが協調して実行すること」という概念を指すというのが正しいようで、タイムシェアリングはその実装形態のひとつらしい。concurrent と parallel は独立した概念で、concurrent なものを parallel に実行するというのもあるらしい。 また、parallel は 1 つのタスクを分割して実行するニュアンス、concurrent は複数のタスクが協調して実行するニュアンス、もあるらしい。 ほとんど伝聞なので、間違ってたら教えてくださ
2017/01/10 誤字脱字を修正しました 2016/11/07 内容を修正しました 2010/09/17 文章を修正しました 一般的に、parallelは並列、concurrentは並行と訳されます。検索してもずばり書かれた物がなかったので、僕なりの理解を書いてみます。 (注:言葉の定義の問題なので、複数の流儀があり得ます。端的に言えば、いわゆるCPUのSIMD命令を「並行」と見なすかどうかに違いが現れます) 参考リンク: http://d.hatena.ne.jp/NyaRuRu/20060129/p2 http://d.hatena.ne.jp/muimy/20070322/1174526368 一番妥当(だと思う)定義 一言で言えば、 Concurrent(並行)は「複数の動作が、論理的に、順不同もしくは同時に起こりうる」こと Parallel(並列)は、「複数の動作が、物理的に
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く