WEBVTT

00:00:00.000 --> 00:00:02.910
Эй, друзья. Вернулись
с моим хорошим другом Дином

00:00:02.910 --> 00:00:05.760
говорить в передовых
Async Await, так что настройтесь.

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
Сегодня, на второй
время мой хороший друг

00:00:18.570 --> 00:00:21.540
Дин на разговоры о Async
Ждут. Как дела, Дин?

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
Вы показали покинуть основное использование
случаев Async Await,

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
Для последнего это больше всего,

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 задач, которые
печатание точек каждую секунду.

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
Визуальная студия даже кричит вам.

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 задач
которые печатают точки каждую секунду.

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
Там нет веса в
между этими двумя.

00:02:23.090 --> 00:02:26.725
Итак, вторая партия 100
задачи уже должны выполняться.

00:02:26.725 --> 00:02:29.940
Но, поскольку они настолько настойчивы,

00:02:29.940 --> 00:02:32.630
они работают каждый
второй для 100 задач.

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
но то, что мы должны сделать, это
использовать Task.Factory.StartNew.

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
Вам нужно добавить
TaskCreationOptions.Longrunning.

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
Так Tasks.Run на самом деле

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
Так 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
Это единственное изменение,
Task.Factory.StartNew.

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
Xamarin для мобильного КПП
Команда, которая супер огромная.

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
Вы следуете Xamarin
Показать на 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
Нажмите на эту штуку. Нажмите
это. Посмотрите. Сделай это.

