шарпопочитатель
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
|
|
1 | |
Поговорим про Task и Thread09.03.2018, 12:41. Показов 1319. Ответов 3
Метки нет (Все метки)
1) Объекты синхронизации, которые были в Thread актуальны для Task?
2) Изменились ли как-то эти объекты сихронизации (lock, monitor, самфор и мьютекс) в плане производительности? 3) Если я на винформах выполняю какую-то длительную операцию и в этой операции обращаюсь в контролу(прогрессбару), то будет ошибка, так как в потоке нельзя использовать элементы управления. Как это победить? 4) В Таске получают результат таски обычным ретурном. Как в Thread получить результат? Можно ли? Или просто делают глобальную переменную какую-то и ее мониторят? 5) Исключения которые происходят в Thread нельзя перехватить в коде который запустил этот код, а в таске можно. Правда?
0
|
09.03.2018, 12:41 | |
Ответы с готовыми решениями:
3
Как запустить Task в Thread Аналог Thread.Sleep или Task.Delay Аналог Thread.Sleep в Task Thread? Task? Background worker? |
09.03.2018, 14:03 | 2 |
Почему же нет?
Насколько я помню, были добавлены новые (например, вот). Как и всегда. Через маршалинг в поток UI (через Invoke(), контекст синхронизации). Асинхронные шаблоны позволяют делать это проще). Зависит от задачи. Можно через внешнюю переменную, либо через выброс события изнутри метода, выполняющегося в потоке. Можно, но есть несколько нюансов. Ну и в общем-ответы на все эти вопросы довольно хорошо рассмотрены, например, у Албахари. Можете обратиться к его книге напрямую.
1
|
Warrior
500 / 427 / 177
Регистрация: 23.11.2014
Сообщений: 932
|
||||||
09.03.2018, 17:05 | 3 | |||||
Thread и Task вообще две разные сущности они между собой никак не связанны.
Thread это объектное представление виндовой сущности потока. Task это абстракця работы/задачи. Например использовать замыкания. По такому принципу можно получить и результат задачи.
1
|
шарпопочитатель
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
|
|
10.03.2018, 09:31 [ТС] | 4 |
0
|
10.03.2018, 09:31 | |
10.03.2018, 09:31 | |
Помогаю со студенческими работами здесь
4
Разница между Task и Thread В чем разница между Task и Thread? Аналог Task.Wait для Thread Дождаться выполнения Task без Thread.Sleep? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |