プログラミングに詳しい優しい人だけ来て?

■ このスレッドは過去ログ倉庫に格納されています
1以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:23:05.665ID:s8TibpdAM
マルチスレッドとか意味わからんのだけど

超絶わかりやすく教えて?

2以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:23:22.488ID:F6+kWkuY0
死ね

3以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:23:26.558ID:qe6AlGM60
のうがにこある

4以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:23:34.595ID:vovTta440
カス

5以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:23:40.105ID:1LIad6+8d
お前これやって
俺はこれやるから

こういうこと

6以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:23:47.535ID:dvZsYfm/a
そーだなー
カレーに例えて教えてくれると嬉しい

7以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:23:59.760ID:CyuY7C0Kd
お前が二人いる

8以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:24:11.630ID:s8TibpdAM
>>3
脳が二個あってそのやり取りを何でするんだ?

9以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:24:15.740ID:eiBt+8Ab0
つまり2人で1人ってこと

10以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:24:27.037ID:r1PD8XINM
運転手は君だ車掌は僕だ

11以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:24:27.470ID:s8TibpdAM
>>5
お前の情報はいつもらえる?

12以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:24:35.159ID:pi37JxS7p
ゲームをやりながら宿題をする

13以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:25:21.653ID:s8TibpdAM
>>6
俺が食材切るからお前は鍋とか準備しといてってこと?

14以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:25:27.025ID:CyuY7C0Kd
>>6
カレー食べながらうんこする

15以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:25:51.055ID:s8TibpdAM
>>7
いつ1人に戻れる?

16以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:25:52.724ID:4w82Cnt20
join()

17以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:26:45.851ID:l6Eho0Yra
>>15
戻らないよ

18以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:27:49.599ID:PLT2DI4l0
foreach(item; items.parallel)
{
doSomething(item);
}

19以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:28:09.394ID:1LIad6+8d
>>11
ここに書いといて
終わるの待ってるわ

20以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:28:27.139ID:s8TibpdAM
処理を2手に分けて時間短縮してるだけか

21以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:28:56.039ID:vovTta440
カレーを二人で食べるのがマルチスレッド
カレーを半分ずつ皿にわけて食べるのがマルチプロセス

IT的に言うとメモリ空間を共有して2つのCPUで処理するのがマルチスレッド
メモリ空間をコピーして各々作業するのかマルチプロセス

マルチスレッドの場合は共有メモリを同時に触って情報共有
マルチプロセスは各プロセスのリターンを受け取って情報共有

新卒2年目だから間違ってたら許して

22以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:29:47.280ID:s8TibpdAM
>>19
終わるの待ってるのはメインスレッドで待ってるってこと?
サブスレッドの処理が終わらなきゃメインスレッドも動けなくない?

23以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:30:31.789ID:Jj5/xAWTd
メモリの分散

24以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:30:58.964ID:PgKUzzo60
>>21
有能

25以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:31:18.951ID:PLT2DI4l0
並列vs並行

26以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:31:30.571ID:1LIad6+8d
>>22
そりゃそうだろ
どこかで同期とる必要がある

27以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:31:57.335ID:vovTta440
>>24
よかったー😃

28以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:34:25.958ID:J/txlhqS0
await使う

29以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:34:30.255ID:N5NdrxE7M
>>21
メモリ空間をコピーして各々作業するのかマルチプロセスってところなんだが、ちゃんと各々別の箇所を処理するようにできてるんか?

30以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:37:57.996ID:1egmfbHn0
>>20
時間短縮以外にも、単にUI操作を止めたくないだけとかいう場合もある

31以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:38:04.896ID:6EJ6oc6Wa
スレッドは仮想CPUだからCPUを時間で分けて仮想的にCPUが複数あるように使うけどメモリは共有

プロセスは仮想コンピュータだからCPUもメモリも分けて仮想的にコンピュータが複数あるように使う

32以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:40:28.487ID:vovTta440
>>29
別々の箇所をマルチで処理するならその対象を共有メモリにしてマルチスレッドで処理するほうがいんじゃね

33以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:42:17.341ID:N5NdrxE7M
>>30
バックグラウンドで画像とかダウンロードはしているけどUI上のボタンタップで画面遷移はできたりするってこと?

34以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:43:17.652ID:N5NdrxE7M
>>31
>>32
なんとなくわかったわ
さんきゅー

35以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:45:59.221ID:vu23bxie0
下手したらメモリーぐちゃぐちゃになりそう

36以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:46:40.589ID:1egmfbHn0
>>33
そうだよ
あとはメニューから何か重い処理を実行した時に画面が止まらずに済んだり

37以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:47:08.911ID:N5NdrxE7M
>>36
おっけー
理解したわ!

38以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:47:19.287ID:N5NdrxE7M
さんきゅー

39以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:48:21.988
>>8
脳幹

40以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:49:08.282ID:4w82Cnt20
ねぇマルチスレッドって要は非同期処理するためのもんだよね?
それ以外に利用しないよね?

41以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:49:35.733
パラレル
コンカレント

区別つくか?

42以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:50:52.600
この範囲から値を探す
スレッドで手分けして同時に進めていくのもマルチスレッド

43以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:55:26.359ID:9C9Vr15t0
>>35
ぐちゃぐちゃにならないように資源をロックして使う

44以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:55:38.379ID:+y57eEio0
>>40
マルチスレッドはいつデータが届くか分からないような処理の時に使う
どういう場面で使うかって言うと大体ネット
TCP/IPによるソケット通信プログラムで使う

45以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:57:35.074ID:4w82Cnt20
要はajaxみたいな用法にしか使わんのでしょ
なんかソートめっちゃ早くなるとかそういうのはないん

46以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 19:59:34.817ID:1egmfbHn0
>>40
非同期処理をするためのものではあるけれど、
並列処理のためにスレッドを使う場合は「非同期処理」と呼んでいいのか微妙かもしれん
別に非同期で実行することが目的なわけじゃないから

47以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 20:01:33.036
もちろんあるよ

48以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 20:04:37.735ID:+y57eEio0
>>45
大量のデータに対して
ラムダ使ってストリームAPIで
マルチスレッドを使えば早くなるって奴か…

そんな難しい事が出来る奴がVIPなんぞにいるわけないわ

49以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 20:07:42.351ID:MEN6zuWgM
詳しくないけど動画のエンコード周りとかはそんな感じじゃねーの
同一プロセス内で複数スレッド走らせても意味なくね

50以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 20:12:21.275ID:1egmfbHn0
>>45
スリープソートっていうジョークソートアルゴリズムがあるぞ

51以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 20:14:39.560
マルチスレッドプログラミングならGo言語

52以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 20:17:24.843ID:NNcPDjZ/D
マルチプロセス特にforkしたとき、最初は親プロセスも子プロセスも同じ物理アドレス参照してるけど、どちらかが書き込みをしたらその時はじめてコピーを別の物理アドレスに作ってさらにそこに書き込みをする

コピーすると言っても最初から全コピー作るのは時間がかかるからコピーオンライトで遅延的にコピーしてる

53以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 20:20:28.962ID:9C9Vr15t0
>>49

マルチCPUとかマルチコアならCPUコアは別々に割り振られるから意味ある
シングルコアでもI/O待ちとかの都合で非同期に実行したい場合は意味ある

54以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 20:42:02.665
インテルのTSX命令は何のためにあるか洞察しろ
データベースのトランザクションをメモリレベルで実現するんだよ

55以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 20:56:57.888ID:b3hDXr7I0
ただしマルチスレッドは処理量が多い場合の1つの解決策でしかない

カレーくってうんこするまでの仕事ならたしかにカレーを食うやつがたくさんいたほうがたくさんうんこでる
でもカレーくいながらどんどんうんこ出せば1人でも困らない これがノンブロッキングI/Oだ

56以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 21:08:39.653
本物のマルチスレッドプログラミングは、一つの仕事をスレッドで手分けして、無矛盾にメモリを共用しつつ
アムダールの法則限界まで倍速を追究するものだ
本質的に異なる仕事を異なるスレッドに割り当てるのは似非
本物のプログラマはキッシュを食べない

57以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 21:09:36.095ID:38PTCwZ1a
深い!

58以下、5ちゃんねるからVIPがお送りします2019/08/20(火) 21:23:06.405ID:PLT2DI4l0
分散

■ このスレッドは過去ログ倉庫に格納されています