トップページ > プログラム > 2017年12月01日 > quTLstwT0

書き込み順位&時間帯一覧

13 位/176 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000200013



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん (ワッチョイ 3d9f-JjO2)
C++相談室 part133
C言語なら俺に聞け 143

書き込みレス一覧

C++相談室 part133
230 :デフォルトの名無しさん (ワッチョイ 3d9f-JjO2)[sage]:2017/12/01(金) 19:27:41.27 ID:quTLstwT0
>>224
最終的に何をしたいんだ?
俺にはそこが見えない。

一つずつ詰めると、頭三行
> await/asyncのコルーチンは並列化じゃなくて非同期処理を同期処理っぽく書くための物だとおもうよ
> 「これを実行して、終わったらこれを実行してね」
> っていうときに、スタックの内容がそのまま残ってるからデータの受け渡しが楽というだけだろう
については同意する。これは>>218-220含めて3人の共通理解でいい。
(ただし俺には逆に、君自身は「並列化の為に」async/awaitを使おうとしているように見える)

> ただ>>220が言ってるように順不同のresumeが起こったらアブナイので
これについては、一般的には逆だ。順序が逆になったら危ないような物を非同期にしてはいけない。
違う言い方をすると、非同期の結果をbarrierを張ってキャンセルするのではなく、
barrier後に非同期にして、結果は必ずcommit出来る構造にする。

ちなみにJavaScriptの連中はここら辺が分かっていなくて、
(というより連中は制御構造云々を議論できるレベルではないのでこれ以前なのだが)
同期前提の制御構造で非同期を扱おうとするからおかしなことになる。
JavaScriptには非同期しかないんだから、選択の余地もないんだが。

C#のasyncはこれとはちょっと違って、イベントで起動するから必ずUIスレになるんだが、
それにジョブをやらせるとUIがカクつくから他スレッドを起動しろ、
しかしそれだと結果を画面に表示できないからそこだけUIスレッドを呼び戻せ、
ただこれだとソースが汚いから、asyncというキーワードをつけ、あたかも全てUIスレッドが処理しているように見せる、
みたいな、なんだかなあ、という状況になっている。
つまり処理順と処理スレッドを入れ替える為の糖衣構文のようなものであって、
本来のasync/awaitのように、非同期を同期的に書くための物自体ではない。ただしそうとも使えるから流用してるが。

それで話を戻すと、君は非同期部分に一般とは逆の「非同期の結果を普通にキャンセルできる構造」を作ろうとしているようだが、
これは何故?或いは何のメリットがあると考えている?
C言語なら俺に聞け 143
616 :デフォルトの名無しさん (ワッチョイ 3d9f-JjO2)[sage]:2017/12/01(金) 19:38:44.88 ID:quTLstwT0
>>608
> ターゲットがよく分からないのですが、コードはUNIX系のOSのemacsで書いてます
根本的に分かってないようだが、「ターゲット」ってのはお前が決めるんだよ。
そして既にコードを書いていて、そこにLCDを接続したいだけなら、その環境を言えよ。
C言語なら俺に聞け 143
634 :デフォルトの名無しさん (ワッチョイ 3d9f-JjO2)[sage]:2017/12/01(金) 23:12:55.57 ID:quTLstwT0
>>631
ググレカス
Arduinoと液晶でいくらでもヒットするだろ
ゆとりはマジで殺処分すべきだな


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。