はてブログ

はてなブックマーク新着エントリーの過去ログサイトです。



タグ 軽量スレッド

新着順 人気順 5 users 10 users 50 users 100 users 500 users 1000 users
 
(1 - 8 / 8件)
 

GHCのIOマネージャの歴史と僕の苦悩 - あどけない話

2021/12/08 このエントリーをはてなブックマークに追加 8 users Instapaper Pocket Tweet Facebook Share Evernote Clip GHC Haskell ネイティブスレッド グリーンスレッド

これは、Haskell Advent Calendar 2021 の8日目の記事です。 Haskellのコンパイラとして事実上一択となったGHCには、「軽量スレッド」が実装されています。軽量スレッドは、ネイティブスレッドよりも軽量なスレッドで、他の言語では「グリーンスレッド」とも呼ばれています。Haskellerが並行プログラミングをするときは... 続きを読む

【翻訳】goroutine の仕組み - まるまるこふこふ

2017/12/07 このエントリーをはてなブックマークに追加 89 users Instapaper Pocket Tweet Facebook Share Evernote Clip goroutine 訳者 既存 翻訳 並行処理

2017 - 12 - 02 【翻訳】goroutine の仕組み 訳者による概要 Krishna Sundarram 氏の記事「How Goroutines Work」の翻訳です。 「goroutine とは軽量スレッドである」という説明に対して抱くであろう 「どのようにして並行処理を実現しているのか」「既存のスレッド処理と何が違うのか」「なぜ軽量なのか」という疑問を解消する文章です。 とても良... 続きを読む

ASCII.jp:Go言語と並列処理(2)|Goならわかるシステムプログラミング

2017/05/10 このエントリーをはてなブックマークに追加 59 users Instapaper Pocket Tweet Facebook Share Evernote Clip goroutine コルーチン かなめ 並行 スレッド

今回は、Go言語の並行・並列処理のかなめともいえるgoroutine(ゴルーチン)周りを掘り下げていきます。 goroutineは、前回の記事で軽く触れたように、 軽量スレッド と呼ばれるものです。 そこで、まずはこの軽量スレッドと通常のOSのスレッドがどう違うのかを説明します。 そのうえで、goroutineの低レベルな機能を扱うためのruntimeパッケージ、 goroutineのデータ競合を... 続きを読む

GoのChannelを使いこなせるようになるための手引 - Qiita

2015/12/01 このエントリーをはてなブックマークに追加 126 users Instapaper Pocket Tweet Facebook Share Evernote Clip Qiita 手引 channel mutex 自前

Go使いたくなる理由の一つに、マルチスレッドプログラミング的なものを高速な言語で安全に実装したいというのがある。Goにおいてそれを支えるのが、自前で実装した軽量スレッドといえるgoルーチンと、mutexなどのロックの代わりに使えるChannelという概念だ。 実際に実装するときに、Goルーチンは難しくないが、Channelを使うのは割と知識と経験が必要なのでここでは、Channelについてすこし詳... 続きを読む

Python3.5で実装されたasync/awaitを使って軽量スレッドの性能ベンチマーク - Qiita

2015/11/03 このエントリーをはてなブックマークに追加 72 users Instapaper Pocket Tweet Facebook Share Evernote Clip await コンテキストスイッチ コルーチン async 観点

Python3.5でasync/awaitが追加されていたのでメモリ消費量とコンテキストスイッチのコストの観点でベンチマークを取ってみました。 ベンチマーク結果 ベンチマークの結果はPythonのasync/awaitを利用したコルーチンは起動が早く、メモリ消費量が少なく、コンテキストスイッチも早かったです。まさに軽量スレッドと言える実装になっているのではないでしょうか。 項目 値 続きを読む

スレッドプログラミングによる HTTP/2 の実装

2015/08/11 このエントリーをはてなブックマークに追加 42 users Instapaper Pocket Tweet Facebook Share Evernote Clip http プロトコル ストリーム 応答 山本和彦

1 スレッドプログラミングによる HTTP/2の実装 山本和彦 @kazu_yamamoto 2 概要 HTTP/2 スレッドとイベント駆動(コールバック) 軽量スレッドによるHTTP/2の実装 ストリームの優先順位 3 HTTP/2 4 HTTP/1.1 の問題点 5 同期性 HTTP/1.1 は同期的なプロトコル サーバ:   ある要求を処理した後、応答を返す クライアント:応答が返ってきた... 続きを読む

マルチコアでスケールするようになった Haskell | 最新の技術・取り組み | IIJ

2015/02/12 このエントリーをはてなブックマークに追加 81 users Instapaper Pocket Tweet Facebook Share Evernote Clip Haskell IIJ メモリアロケータ ガベージコレクタ

Glasgow Haskell Compiler(GHC)は、関数型言語Haskellの主要コンパイラです。GHCは(並列性に加えて)並行性を主要な目的として長年開発されてきました。そのため、GHCには、 軽量スレッド(グリーンスレッド) マルチコア用の軽量スレッド・スケジューラ マルチコア上での効率的なメモリアロケータ マルチコア用のガベージコレクタ など、マルチコアで簡潔に並行性を実現するため... 続きを読む

若手エンジニア/初心者のためのRuby 2.1入門(11):RubyのThread、Fiber、Kernel、forkで並列処理やプロセスの深淵へ (1/3) - @IT

2014/12/15 このエントリーをはてなブックマークに追加 104 users Instapaper Pocket Tweet Facebook Share Evernote Clip Fiber fork kernel thread 深淵

若手エンジニア/初心者のためのRuby 2.1入門(11):RubyのThread、Fiber、Kernel、forkで並列処理やプロセスの深淵へ (1/3) オープンソースのオブジェクト指向プログラミング言語「Ruby」の文法を一から学ぶための入門連載。最新版の2.1に対応しています。今回は、スレッドを扱うクラスや軽量スレッド、「グルー言語」でもあるRubyからプロセスを操るさまざまなメソッドの... 続きを読む

 
(1 - 8 / 8件)