Рейтинг:
33
OriginalGriff
Это не очень хорошее использование потоков: один ждет, пока пользователь наберет текст, а затем почти ничего не умирает. Другой ждет, пока наиболее приспособленный что-нибудь сделает, а потом тоже умирает почти ничего.
Почти наверняка менее эффективно и медленнее даже пытаться сделать это с помощью отдельных потоков, чем делать это в одном потоке!
Найдите лучший пример задачи для "распараллеливания" и посмотрите на Класс BackgroundWorker (System.ComponentModel)[^] для примера того, как начать. Это довольно простое введение.
Member 12793258
нет
не ждите
вы вводите количество параллельных показать СР
OriginalGriff
И откуда берутся эти цифры? "Вторая задача" должна ждать, пока номера будут доступны из первой...
Member 12793258
в консольном приложении я ввел цифры
хорошо?
под него другие функции AVG
мы должны использовать два потока в основном
потому что у нас есть две функции
я поставил решение
посмотрите пожалуйста
OriginalGriff
Подумайте об этом.
Консольное приложение сидит там и ждет, когда пользователь наберет номер и нажмет ENTER, да? Он не может сделать ничего другого.
Что может сделать "поток усреднения", пока это происходит? Ничего - потому что ему нужно число, чтобы добавить его к "итогу до сих пор", прежде чем он сможет разделить его на количество записей, чтобы сгенерировать среднее.
Таким образом, у вас есть две задачи, *обе из которых ждут одного и того же* и обе из которых могут делать только тривиальные вещи с данными, когда они поступают, прежде чем ждать следующего элемента.
Это не повышение эффективности, это очень неэффективная трата процессорного времени и ресурсов для выполнения работы, которая лучше выполняется без потоковой обработки.
Так что найдите лучший пример задачи,которую можно улучшить с помощью потоковой обработки!
Member 12793258
я знаю все что ты говоришь
но наш инструктор хочет показать как работают нити я думаю
OriginalGriff
Затем перечитайте вопрос еще раз-потому что то, о чем вы просите нас помочь, ужасно усложняет тривиальную задачу, и трудно поверить, что кто-то считает это хорошей идеей.
Это все равно что купить машину только для того, чтобы сэкономить на износе обуви! :смеяться: