WEBVTT

00:00:00.000 --> 00:00:02.910
>> ねえ、友達。戻っていました
私の良い友人ディーンと

00:00:02.910 --> 00:00:05.760
上級で話す
非同期待ちなので、チューニングしてください。

00:00:05.760 --> 00:00:12.810
[音楽]

00:00:12.810 --> 00:00:14.925
>> みんなを歓迎
ザマリンショーに。

00:00:14.925 --> 00:00:16.110
私はあなたのホストジェームズ・モンテマーニョです。

00:00:16.110 --> 00:00:18.570
今日、2番目に戻る
私の良い友人の時間

00:00:18.570 --> 00:00:21.540
ディーン、非同期について語る
待つ。調子はどうだ、ディーン?

00:00:21.540 --> 00:00:22.380
>> 良いです。お元気ですか。

00:00:22.380 --> 00:00:24.030
>> 私は絶対に素晴らしいです。

00:00:24.030 --> 00:00:26.100
さて、最初のエピソードでは、

00:00:26.100 --> 00:00:29.610
あなたは基本的な使いの使いが見せた
非同期待ちのケース,

00:00:29.610 --> 00:00:31.665
何が悪いのか、何が良いのか。

00:00:31.665 --> 00:00:33.150
今日は何を持って来たの?

00:00:33.150 --> 00:00:34.200
>> 今回は

00:00:34.200 --> 00:00:35.700
高度なシナリオに取りまずきます。

00:00:35.700 --> 00:00:37.290
エッジケースの束。

00:00:37.290 --> 00:00:39.780
を使用した高度なシナリオ
異なるメカニズム

00:00:39.780 --> 00:00:41.610
TPL内で、深く行く。

00:00:41.610 --> 00:00:43.440
>>非常に素晴らしいです。クール。それが大好きです。

00:00:43.440 --> 00:00:45.840
まあ、時間を無駄にしちましょう
そして、コードに入りましょう。

00:00:45.840 --> 00:00:47.565
>> すぐに行きましょう。大丈夫です。

00:00:47.565 --> 00:00:50.295
最後の1つは、これが最も多いです

00:00:50.295 --> 00:00:51.750
複雑なことは言いたくない

00:00:51.750 --> 00:00:53.640
しかし、非常に大きなエッジケース。

00:00:53.640 --> 00:00:54.165
>> よし

00:00:54.165 --> 00:00:57.225
>> だから、これは長く続いているもの
タスク。おなじみなの?

00:00:57.225 --> 00:00:58.035
>> 私はそうです。

00:00:58.035 --> 00:01:00.260
>> で実行時間の長いタスク

00:01:00.260 --> 00:01:02.960
TPL は、次のタスクです。
長時間実行できます。

00:01:02.960 --> 00:01:04.850
時々、あなたは
何か実行したい。

00:01:04.850 --> 00:01:09.470
たぶん、それは引っ張っている、多分それは
加速度計の値を確認し、

00:01:09.470 --> 00:01:10.880
そんなもの
バックグラウンドで実行されます。

00:01:10.880 --> 00:01:12.745
本当に止めたくないのか?

00:01:12.745 --> 00:01:15.360
だから悪い場合には、

00:01:15.360 --> 00:01:17.220
ここでの私の悪い例では、

00:01:17.220 --> 00:01:19.190
私は始めるつもりです

00:01:19.190 --> 00:01:23.285
100 個のタスク
1 秒ごとにドットを印刷します。

00:01:23.285 --> 00:01:24.350
>> それは理にかなっています。

00:01:24.350 --> 00:01:25.805
>> 彼らはただ走っているだけだ。

00:01:25.805 --> 00:01:28.410
火と忘れ、忘れる
彼ら、そして彼らはちょうど実行されます。

00:01:28.410 --> 00:01:30.210
>>Visual Studioはあなたを怒鳴っています。

00:01:30.210 --> 00:01:33.060
>> まさに。ビジュアル
スタジオは私より賢い。

00:01:33.060 --> 00:01:36.020
その上に、

00:01:36.020 --> 00:01:38.500
100 個のタスクを実行するつもりです
実際に完了します。

00:01:38.500 --> 00:01:39.240
>> わかった。

00:01:39.240 --> 00:01:40.550
>> だから、私たちは何を見るでしょう
これらに起こります。

00:01:40.550 --> 00:01:43.310
したがって、これらのタスクは、
アプリ内のタスク

00:01:43.310 --> 00:01:44.660
実際に実行したい場合は、

00:01:44.660 --> 00:01:46.400
たぶん、あなたはHTMLをダウンロードしている、

00:01:46.400 --> 00:01:48.920
画像のダウンロード,
そんなことをする。

00:01:48.920 --> 00:01:50.810
大丈夫です。だからここに悪い例があります。

00:01:50.810 --> 00:01:54.920
100 個のタスクを実行しています
1 秒ごとにドットを印刷します。

00:01:54.920 --> 00:01:57.575
だから、これらの一つ一つ
タスクはドットを印刷しています。

00:01:57.575 --> 00:01:59.705
毎秒、
それは忘れて発射している。

00:01:59.705 --> 00:02:02.374
そして、私たちは始めています
100の他のタスク

00:02:02.374 --> 00:02:04.975
これは、テストです。
私たちは実際に実行したいです。

00:02:04.975 --> 00:02:07.160
>> なるほど。だから、私たちは何を見ているの
その後、ここで出力で?

00:02:07.160 --> 00:02:08.240
>> ここでの出力では、

00:02:08.240 --> 00:02:10.370
私たちは、束を見るでしょう

00:02:10.370 --> 00:02:12.350
スレッドの開始中
スレッド プールから。

00:02:12.350 --> 00:02:15.545
このis.NET管理
私たちのために私たちのスレッド。

00:02:15.545 --> 00:02:16.040
>> わかった。手に入れました。

00:02:16.040 --> 00:02:20.285
>> 前に話し合いました。だからとして
ほら、本当に遅いよ。

00:02:20.285 --> 00:02:23.090
体重が無い
この2つの間に。

00:02:23.090 --> 00:02:26.725
したがって、100の2番目のバッチ
タスクは既に実行されている必要があります。

00:02:26.725 --> 00:02:29.940
しかし、これらはとても主張するので、

00:02:29.940 --> 00:02:32.630
彼らはすべての人を走っている
100 個のタスクの 2 番目です。

00:02:32.630 --> 00:02:35.120
それは本当に取っている
しばらくスピンアップします。

00:02:35.120 --> 00:02:38.150
だから、スレッドが一度見えるでしょう
プールはここで追いつく。

00:02:38.150 --> 00:02:41.380
私たちはこれらを見始めるべきです
発射するテスト。さあ行こう。

00:02:41.380 --> 00:02:42.130
>> そこに行く。

00:02:42.130 --> 00:02:43.340
>> だから、これらは私たちがするタスクです

00:02:43.340 --> 00:02:45.275
欲しいと彼らは
完了まで実行されます。

00:02:45.275 --> 00:02:46.610
しかし、その間に、あなたはそれを見るでしょう

00:02:46.610 --> 00:02:50.205
前のタスクの火災と忘れ
まだドットを印刷しています。

00:02:50.205 --> 00:02:53.280
>> なるほど。分かった。だから
すべてがすべてです。

00:02:53.280 --> 00:02:56.655
また、このガベージ コレクションも表示されます。
少し気が狂いそうだ。

00:02:56.655 --> 00:02:57.840
それは私たちにあまり満足していません。

00:02:57.840 --> 00:03:02.300
>> いいえ。これも
正直に言うと珍しい。

00:03:02.300 --> 00:03:05.090
私たちは、この中でケースを見てきました
スレッド プールが

00:03:05.090 --> 00:03:08.225
ただ窒息し、タスクなし
は数分間起動できます。

00:03:08.225 --> 00:03:10.970
誤って使用すると、

00:03:10.970 --> 00:03:12.320
それは詰まっちゃった。

00:03:12.320 --> 00:03:14.045
>> あなたを得た。では、これを修正するにはどうすればよいでしょうか。

00:03:14.045 --> 00:03:16.070
>> それでは、再起動してみましょう

00:03:16.070 --> 00:03:18.215
を確認するアプリ
これらのタスクは死んでいます。

00:03:18.215 --> 00:03:19.550
>> あなたを得た。

00:03:19.550 --> 00:03:21.545
>> それでは、修正に行きます。

00:03:21.545 --> 00:03:21.995
>> 確かに。

00:03:21.995 --> 00:03:25.340
>> だから、私たちは持っている
これを行うためのツール。

00:03:25.340 --> 00:03:27.965
私たちは長い束を持つことができます
バックグラウンドで実行,

00:03:27.965 --> 00:03:31.610
しかし、私たちがする必要があるのは
タスク ファクトリを使用します。

00:03:31.610 --> 00:03:34.055
このコード内は同じです。

00:03:34.055 --> 00:03:35.960
私たちは、それらのドットを印刷しているだけです。

00:03:35.960 --> 00:03:39.420
しかし、その後、パラメータで
作成オプションの場合、

00:03:39.420 --> 00:03:42.135
追加する必要があります
タスク作成オプション.長時間実行。

00:03:42.135 --> 00:03:45.945
>> なるほど。だから、これは何かです
組み込みのタスク ファクトリto.NET。

00:03:45.945 --> 00:03:48.570
どう違いますか
このタスクの間.開始

00:03:48.570 --> 00:03:50.460
とタスクファクトリ?
ここから始めなさい。

00:03:50.460 --> 00:03:52.110
>> だからタスク.実行は実際には

00:03:52.110 --> 00:03:56.430
Task.Factory.StartNew
既定のパラメーター。

00:03:56.430 --> 00:03:57.915
それは私たちのための近道です。

00:03:57.915 --> 00:03:58.440
>> あなたを得た。

00:03:58.440 --> 00:04:01.100
>> So Task.Factory.StartNew
よりきめ細かいです。

00:04:01.100 --> 00:04:02.180
私たちはパラメータの束を持っています。

00:04:02.180 --> 00:04:03.695
参照へのリンクを追加しました。

00:04:03.695 --> 00:04:04.955
>> 美しい。

00:04:04.955 --> 00:04:08.180
>> もっとたくさんあります
私たちがそこに収まるよりも。

00:04:08.180 --> 00:04:11.785
しかし、基本的には、設定する場合
実行時間が長いタスク、

00:04:11.785 --> 00:04:15.695
別のスレッドを持っています
それがスマートであるプール

00:04:15.695 --> 00:04:19.655
そして、それはオーバーサブスクライブすることができます。

00:04:19.655 --> 00:04:23.510
ドキュメントを読むことができます。
それでは、見てみましょう。

00:04:23.510 --> 00:04:26.500
これが唯一の変更点です。
タスク.ファクトリ.開始新規

00:04:26.500 --> 00:04:30.540
だから、私たちは見るでしょう、これらは
ドットを印刷する 100 のタスク。

00:04:30.540 --> 00:04:33.420
私たちの他のタスクはすでに始まっています。

00:04:33.420 --> 00:04:34.185
>> はい。

00:04:34.185 --> 00:04:36.465
>> ちょうどそのようなものです。私たち
待つ必要さえなかった。

00:04:36.465 --> 00:04:38.580
>> 以前は、
実際にウエハーを持っていました。

00:04:38.580 --> 00:04:41.100
彼らの束、彼らが得るすべて
予定。すべてが起こった。

00:04:41.100 --> 00:04:44.945
だから今、私たちは実際に見ている
物事は期待どおりに動作します。

00:04:44.945 --> 00:04:46.985
最初から、

00:04:46.985 --> 00:04:49.590
すべてのタスクがすべてだった
同時に実行されます。

00:04:49.590 --> 00:04:50.220
>> まさに。

00:04:50.220 --> 00:04:52.025
>> 長時間実行は
まだ続いています。

00:04:52.025 --> 00:04:55.310
既に完了しています
座る前に100のタスク

00:04:55.310 --> 00:04:58.565
20秒のようなもののために
それを待っています。おかしいです。

00:04:58.565 --> 00:04:58.790
>> はい。

00:04:58.790 --> 00:04:59.480
>>非常にクール。

00:04:59.480 --> 00:05:00.305
>> 非常識だ

00:05:00.305 --> 00:05:02.115
>> ディーン、これは素晴らしいです。

00:05:02.115 --> 00:05:04.800
ちょうどそんなに素晴らしいコンテンツ
ちょうどそこに詰め込んだ。

00:05:04.800 --> 00:05:05.160
>> ありがとう、ジェームズ。

00:05:05.160 --> 00:05:07.550
>> さて、もちろん、私たちは置きます
ショーへのすべてのリンク

00:05:07.550 --> 00:05:10.490
以下のショーノート
すべてのベスト プラクティス、

00:05:10.490 --> 00:05:12.545
ドキュメント, この
サンプルコード、すべて。

00:05:12.545 --> 00:05:17.030
また、
aka.MS/xamarinbestpractices

00:05:17.030 --> 00:05:19.310
すべてについての詳細を知るために
のベスト プラクティスの

00:05:19.310 --> 00:05:21.820
モバイルCAT用ザマリン
超素晴らしいチームです。

00:05:21.820 --> 00:05:23.695
ディーン、どうもありがとうございました
これをすべてオフに示すための。

00:05:23.695 --> 00:05:24.850
>> 持っていただきありがとうございます
番組で私を、ジェームズ。

00:05:24.850 --> 00:05:26.675
>> 絶対に。歓声。確認してください

00:05:26.675 --> 00:05:28.925
あなたはザマリンに従う
YouTube で表示,

00:05:28.925 --> 00:05:30.425
チャンネルナイン。どこに行ったらいいか分かってるだろ?

00:05:30.425 --> 00:05:31.850
その通知ベルをヒット,

00:05:31.850 --> 00:05:33.725
の一部になる
通知チーム。

00:05:33.725 --> 00:05:35.390
私はジェームズ・モンテマーニョ です

00:05:35.390 --> 00:05:38.550
ザカマリンショーと
見てくれてありがとう。

00:05:45.230 --> 00:05:48.050
>> ねえ、ジェームズはここ。
ちょうどチェックインしたかった

00:05:48.050 --> 00:05:50.105
そして、ありがとうございました
このビデオを見て。

00:05:50.105 --> 00:05:53.195
さて、あなたが行うすべてのことを行います
あなたが好きなようにしたいことを知って、

00:05:53.195 --> 00:05:55.760
購読、および付き
その通知ベル,

00:05:55.760 --> 00:05:57.770
の一部になる
通知チーム。

00:05:57.770 --> 00:05:59.150
あなたがここにいる間、チェックアウト

00:05:59.150 --> 00:06:02.360
これらすべての素晴らしいビデオ
私はすでに記録したことを。

00:06:02.360 --> 00:06:05.970
その事をクリックしてください。クリック
それ。気をつけて。そうしてください。

