タグ 軽量スレッド
人気順 5 users 10 users 100 users 500 users 1000 users【翻訳】goroutine の仕組み - まるまるこふこふ
2017 - 12 - 02 【翻訳】goroutine の仕組み 訳者による概要 Krishna Sundarram 氏の記事「How Goroutines Work」の翻訳です。 「goroutine とは軽量スレッドである」という説明に対して抱くであろう 「どのようにして並行処理を実現しているのか」「既存のスレッド処理と何が違うのか」「なぜ軽量なのか」という疑問を解消する文章です。 とても良... 続きを読む
ASCII.jp:Go言語と並列処理(2)|Goならわかるシステムプログラミング
今回は、Go言語の並行・並列処理のかなめともいえるgoroutine(ゴルーチン)周りを掘り下げていきます。 goroutineは、前回の記事で軽く触れたように、 軽量スレッド と呼ばれるものです。 そこで、まずはこの軽量スレッドと通常のOSのスレッドがどう違うのかを説明します。 そのうえで、goroutineの低レベルな機能を扱うためのruntimeパッケージ、 goroutineのデータ競合を... 続きを読む
GoのChannelを使いこなせるようになるための手引 - Qiita
Go使いたくなる理由の一つに、マルチスレッドプログラミング的なものを高速な言語で安全に実装したいというのがある。Goにおいてそれを支えるのが、自前で実装した軽量スレッドといえるgoルーチンと、mutexなどのロックの代わりに使えるChannelという概念だ。 実際に実装するときに、Goルーチンは難しくないが、Channelを使うのは割と知識と経験が必要なのでここでは、Channelについてすこし詳... 続きを読む
Python3.5で実装されたasync/awaitを使って軽量スレッドの性能ベンチマーク - Qiita
Python3.5でasync/awaitが追加されていたのでメモリ消費量とコンテキストスイッチのコストの観点でベンチマークを取ってみました。 ベンチマーク結果 ベンチマークの結果はPythonのasync/awaitを利用したコルーチンは起動が早く、メモリ消費量が少なく、コンテキストスイッチも早かったです。まさに軽量スレッドと言える実装になっているのではないでしょうか。 項目 値 続きを読む
マルチコアでスケールするようになった Haskell | 最新の技術・取り組み | IIJ
Glasgow Haskell Compiler(GHC)は、関数型言語Haskellの主要コンパイラです。GHCは(並列性に加えて)並行性を主要な目的として長年開発されてきました。そのため、GHCには、 軽量スレッド(グリーンスレッド) マルチコア用の軽量スレッド・スケジューラ マルチコア上での効率的なメモリアロケータ マルチコア用のガベージコレクタ など、マルチコアで簡潔に並行性を実現するため... 続きを読む
若手エンジニア/初心者のためのRuby 2.1入門(11):RubyのThread、Fiber、Kernel、forkで並列処理やプロセスの深淵へ (1/3) - @IT
若手エンジニア/初心者のためのRuby 2.1入門(11):RubyのThread、Fiber、Kernel、forkで並列処理やプロセスの深淵へ (1/3) オープンソースのオブジェクト指向プログラミング言語「Ruby」の文法を一から学ぶための入門連載。最新版の2.1に対応しています。今回は、スレッドを扱うクラスや軽量スレッド、「グルー言語」でもあるRubyからプロセスを操るさまざまなメソッドの... 続きを読む