[win][threads] работа с gui//закрыто

kill-still

Напомните пожалуйста, почему нельзя работать с графикой GUI из разных потоков?

Devid

С какой графикой? Что значит работать?

kill-still

Спасибо большое, просто не был уверен в том, может ли быть что-то хуже чем
If you have multiple threads updating the screen, you can get some ugly flicker and incorrect drawing.
Стало быть это худшее, что может произойти.

Devid

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

kill-still

Что заблокировать? апи GDI не блокируется же при вызове.

Dasar

Напомните пожалуйста, почему нельзя работать с графикой из разных потоков?
с экраном можно работать из нескольких тредов, но необходимо это делать аккуратно. Требуется понимать между какими элементами какие есть шаренные ресурсы, и как можно обеспечить корректную мультитредную работу с ними. Очень большие ограничения накладывают используемые библиотеки, которые часто не рассчитаны на многопоточную работу с ними.
например:
Два независимых desktop-ных окна могут быть без проблем созданы и обработаны из разных потоков.
Дочернее окно с управлением из отдельного треда внутри другого окна создать можно, но требует намного большей аккуратности

Dasar

ссылка по теме:
ccылка не очень, там в основном собраны "слухи на тему" без всякой опоры на реальность

evgen5555

основная проблема — это внесение зависимостей между тредами в виде синхронизации между не связанными классами, а отнюдь не сраная перерисовка

Serab

бери C++, я слышал, там все можно
Оставить комментарий
Имя или ник:
Комментарий: