golangに関するhrtshuのブックマーク (2)

  • 並行処理の基本とgoroutine(スライド) - Qiita

    まずは簡単な用語整理 マルチタスクとは 複数のタスクを切り替えて実行できるシステムのこと タスクがプロセスの場合、→ マルチプロセス タスクがスレッドの場合、→ マルチスレッド プロセスとスレッドのおさらい プロセス プロセスはプログラムの実行単位のこと。 プロセスの中身は「実行プログラム」や「変数の値」がある。 OS(Linuxカーネルなど)がこのプロセスを切り替えながら実行する。 スレッド スレッドにはカーネルスレッドとユーザースレッドの2種がある。 カーネルスレッド カーネルスレッドの実体はプロセス。軽量プロセスとも呼ばれる。 他スレッド(つまり他プロセス)と変数の値などを共有している。 ユーザースレッド ユーザースレッドは、1つのプロセスの中にある擬似的なスレッド。軽量スレッドとも呼ばれる。 あくまで1つのプロセスの中で複数の擬似スレッドがあるだけ。 つまりマルチコアの恩恵を受けら

    並行処理の基本とgoroutine(スライド) - Qiita
  • 【翻訳】goroutine の仕組み - まるまるこふこふ

    訳者による概要 Krishna Sundarram 氏の記事「How Goroutines Work」の翻訳です。 「goroutine とは軽量スレッドである」という説明に対して抱くであろう 「どのようにして並行処理を実現しているのか」「既存のスレッド処理と何が違うのか」「なぜ軽量なのか」という疑問を解消する文章です。 とても良い文章なのですが、現在リンク切れになっており、 とてももったいないことだと思ったので、日語に翻訳しました。 原文: How Goroutines Work (2017/12/02 現在、リンク切れ) golang の紹介 もしあなたが golang 初心者で、並行処理(Concurrency)と並列処理(Parallelism)の違いがわからなければ、Rob Pike 氏のトーク (リンク先は英語)を参照してください。約 30 分のトークですが、30分視聴するだ

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