Member 11344126 Ответов: 1

Интересно, что такое поток отношений в процессе между объектом(классом)


в этом проекте я работал программистом WPF.

Делая программу wpf, я почувствовал, что это тяжелая программа, которая является программой asycn.

поэтому здесь всегда вопросов эффективности. и вот у меня возник вопрос, который меня интересовал.

один процесс имеет много потоков. тогда обрабатывает ли поток в процессе один объект(класс)?

если поток обрабатывает один объект(класс), я думаю, что многие объекты(классы) сделаны путем запуска

программа разделена правильно для многопоточного программирования.

Я прислушиваюсь к вашему мнению. пожалуйста.



Извиняюсь. Я не очень хорошо говорю по-английски.

Что я уже пробовал:

I listen your opinion. plz.

1 Ответов

Рейтинг:
0

OriginalGriff

Нет, поток - это "единица обработки" - это код, который выполняется на ядре вашего процессора в определенное время, он не связан напрямую с каким-либо одним объектом.
Если у вас есть простое консольное приложение, то у него есть один поток, и он работает (при условии, что ОС не нуждается в ядре другого процесса) до тех пор, пока не достигнет точки, когда он больше ничего не сможет сделать, возможно, когда он ждет, когда пользователь что-то наберет. Пока он ждет, приложение больше ничего не может сделать.
Если он запускает второй поток (возможно, чтобы вычислить значение pi), то этот второй поток работает независимо от первого потока - который "останавливается" в ожидании пользователя, но вычисление pi продолжается, не замечая этого.

Это не имеет ничего общего с объектами или классами, это просто "абстрактный слой", который мы, программисты, применяем для улучшения качества нашего кода.


Member 11344126

спасибо Вам за Ваше мнение. мой учитель...

Причина, по которой у меня возник этот вопрос, - это производительность программы issus.

и вот я подумал, что запущенный процесс имеет дело с потоком.

что если объект(класс) имеет еще много obejct ( новый класс() ), то производительность

программа будет не постельная. поэтому я подумал, что класс правильно разделен для выполнения issus.

анвави. Ваше мнение мне очень помогло. спасибо.

OriginalGriff

Процесс-это приложение (здесь многое упрощается), которое состоит из выделенной памяти и кода и выполняет этот код с помощью одного или нескольких потоков. Поток - это базовая единица, которой операционная система выделяет процессорное время. Поток может выполнять любую часть кода процесса, включая части, выполняемые в данный момент другим потоком, и совместно использует память, выделенную процессу, но каждый поток имеет отдельный стек, поэтому они не путаются друг с другом.
Потоковая обработка и производительность-это сложная тема: добавление потоков может замедлить работу приложения, поскольку каждый поток добавляет накладные расходы, и если нет достаточного количества процессорных ядер для их одновременного запуска, то дополнительное время обработки занимает переключение между ними.

Производительность бывает двух типов: процессорное время и использование памяти, и вообще говоря улучшение одного происходит за счет другого! Классы связаны с памятью и никоим образом не связаны с потоками: поэтому их единственное влияние на время обработки заключается в том, сколько памяти они выделяют (что может быть очень трудоемким процессом!)