👻逐次処理・並行処理・並列処理の意味を理解し使い分けよう2023/02/15に公開・約400字・1件のコメントツイートGotech 概要 逐次処理・並行処理・並列処理の違いをおさえる 逐次処理 タスク1が完了したら,タスク2に取り掛かる シングルコア・シングルスレッドで処理をする時 並行処理 タスク1とタスク2を交互に進める(ある瞬間では,どちらか一方のみ進行中) シングルコア・マルチスレッドで処理をする時 並列処理 タスク1とタスク2を同時に進める マルチコア・マルチプロセスで処理をする時 参考記事 【プログラミング入門】並行と並列の違いを理解する Go言語でのテストの並列化 〜t.Parallel()メソッドを理解する〜 ツイートDiscussion「並行処理」は誤解されやすいですがもっと広義で同時に処理したいものを指します。 (挙げておられる参考記事のほうも「並列処理は、並行処理に内包される概念です。」と注意書きされています。) イメージとしては「並行処理」という大枠に「並列処理」と「not並列処理」が含まれている感じ。 別の参考記事: https://zenn.dev/koron/articles/3ddcaaeae37f9befdf70 具体的な話をすると「並行処理=同時にメモリアクセスすることが無いはずだから排他処理不要」って考えていると並列処理に落とし込まれる処理系(例えばGo)で痛い目を見ちゃう。 ログインするとコメントできますLogin
「並行処理」は誤解されやすいですがもっと広義で同時に処理したいものを指します。 (挙げておられる参考記事のほうも「並列処理は、並行処理に内包される概念です。」と注意書きされています。) イメージとしては「並行処理」という大枠に「並列処理」と「not並列処理」が含まれている感じ。 別の参考記事: https://zenn.dev/koron/articles/3ddcaaeae37f9befdf70 具体的な話をすると「並行処理=同時にメモリアクセスすることが無いはずだから排他処理不要」って考えていると並列処理に落とし込まれる処理系(例えばGo)で痛い目を見ちゃう。
Discussion
「並行処理」は誤解されやすいですがもっと広義で同時に処理したいものを指します。
(挙げておられる参考記事のほうも「並列処理は、並行処理に内包される概念です。」と注意書きされています。)
イメージとしては「並行処理」という大枠に「並列処理」と「not並列処理」が含まれている感じ。
別の参考記事:
具体的な話をすると「並行処理=同時にメモリアクセスすることが無いはずだから排他処理不要」って考えていると並列処理に落とし込まれる処理系(例えばGo)で痛い目を見ちゃう。