Задать вопрос

Многопоточность?

Что-то не понимаю я работу с потоками. Создал поток для функции в форме. Я так понимаю, что теперь он не зависим от основного потока. Инициализировал его и запустил, но стоит ему зациклиться или встретить sleep, так зависает и форма. Это нормально?
P.S. Application.DoEvents вообще работает?
  • Вопрос задан
  • 363 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Решения вопроса 1
@MonkAlex
C#, SQL, Delphi, C++ etc
стоит ему зациклиться
И он выжирает все доступные ресурсы. Это возможно и это нормально.
или встретить sleep
А вот это не нормально, ибо Sleep одного потока должен наоборот переключать контекст.

Вообще, потоки отлично работают, можно из формы вызвать тяжелую операцию и при этом не вешать форму.
Скорее всего, вы делаете что-то не так.

Код был бы полезен, если конечно у вас не закрытый коммерческий проект.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
как мен нравятся вопрос в стиле "я сделал невиданное нечто, скажите что не так, но только я вам ничего не расскажу, сами догадайтесь". ТовариСЧЬ, вы либо какую то информацию дайте или идите и дальше сами разбирайтесь, что у вас не так в коде.
Ответ написан
Комментировать
keyros
@keyros
http://about.me/keyros
Значит так, возможно, это все из-за того, что слишком часто обновляете конрол
Ответ написан
Комментировать
ImmortalCAT
@ImmortalCAT
C# loving
если вы создали
public void TODO()
{
//TODO:
}
Thread th = new Thread(TODO);
th.Start();

из main(string[] args)
то форма никак не долна зависнуть... вродебы :)
ну эт как пример для консольки, но суть не меняется
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы