powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / MS Windows: кнопка Close блокирует GUI
25 сообщений из 156, страница 3 из 7
MS Windows: кнопка Close блокирует GUI
    #39902874
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

petravДля упрощения архитектуры ПО многопоточность там излишняя. Но если по отчётам будет видно,
что приложение висело две минуты и сорвало управление, то это будет проблемой. Понимаешь?
Не, ты не понимаешь...

Я тоже не понимаю человека, который создаёт большие и злобные грабли на будущее только для
того, чтобы облегчить себе работу здесь и сейчас.

Вы правы, как всегда.
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39902881
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Даже если у вас там выключен Касперыч и MS-Indexing-Service то есть еще много служб
(сетевые) которые обеспечивают сетевую инфра-структуру Windows и обязаны реагировать
например на сетевые события.

Есть много примеров атак на отказ в обслуживании когда атакующий делает различного
рода интеракции с сетевыми службами листенереы которых подняты и просто обязаны
обслужить входящий реквест. Что из этого можно придумать - ну.. дофига чего.

:) Речь, конечно, не об этом. Всё оборудование отключено от сети. Но не в этом дело. Там разные хакерские атаки через флешку - это всё излишне. Мы тут проще вопросы обсуждаем. А именно: если мы доверили процессу GUI принимать решения, то любой пользователь может вмешаться в этот процесс. А за логи отвечать нам. Поэтому нельзя. Видимо.
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39902888
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так не пиши процессы которые зависят от UI. Помнишь я говорил что время реакции человека - 100мс.
И время взаимодействия клавиатуры и мыши еще медленее. Вообще нельзя никакие тайм-критичные
вычисления завязывать на UI.

И пример с notepad - неудачен. Notepad - это однопточное UI приложение где весь жизненный цикл
живет внутри WndProc. Следовательно любая атака GDI событиями вызывает срабатывание хендлера
Notepad. Просто он - так спроектирован. Как и calc, paint, e.t.c и прочие бесплатные апликухи.
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39902893
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Так не пиши процессы которые зависят от UI. Помнишь я говорил что время реакции человека - 100мс.
И время взаимодействия клавиатуры и мыши еще медленее. Вообще нельзя никакие тайм-критичные
вычисления завязывать на UI.

И пример с notepad - неудачен. Notepad - это однопточное UI приложение где весь жизненный цикл
живет внутри WndProc. Следовательно любая атака GDI событиями вызывает срабатывание хендлера
Notepad. Просто он - так спроектирован. Как и calc, paint, e.t.c и прочие бесплатные апликухи.

Так я и не пишу приложения, которые зависят от UI. Но дело в том, что разработка многопоточного приложения, порядково сложнее однопоточного. Это, конечно, нам студенты сейчас расскажут как по этой тематике лабы ваяли и открыли для себя локеры. И как всё было просто, потом перешли на Яву...

Вопросов масса: например если рабочий поток шлёт неблокирующее сообщение потоку GUI, а тот висит. Вот что будет?

И главное деньги, как пояснить руководству, что это очень сложно?
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39902896
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Так я и не пишу приложения, которые зависят от UI. Но дело в том, что разработка многопоточного приложения, порядково сложнее однопоточного. Это, конечно, нам студенты сейчас расскажут как по этой тематике лабы ваяли и открыли для себя локеры. И как всё было просто, потом перешли на Яву...

Вопросов масса: например если рабочий поток шлёт неблокирующее сообщение потоку GUI, а тот висит. Вот что будет?

И главное деньги, как пояснить руководству, что это очень сложно?
ну наконец то конкретика пошла.
Да асинхронные приложения писать сложнее.
Ты прав.
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39902900
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Вопросов масса: например если рабочий поток шлёт неблокирующее сообщение потоку GUI, а тот висит
Тебе mayton сказал - не писать в гуи ничего медленнее 0,1сек.
Дорого? Да!
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39902907
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
А дело в том, что в потоке GUI могут приниматься какие-то решения.
"Уж сколько раз твердили миру", что основная работа должна делаться в отдельном потоке, "но только всё не впрок".
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39902912
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
petrav
А дело в том, что в потоке GUI могут приниматься какие-то решения.
"Уж сколько раз твердили миру", что основная работа должна делаться в отдельном потоке, "но только всё не впрок".

Так я за это только и ратую. Но есть проблема: многопоточные приложения порядково сложнее однопоточных. Задача дёшево и быстро выпускать программы, которые надёжны и функциональны. И решают проблемы заказчика, а не философствование про что-то там. И главное надёжность. Вот в чём конфликт идеологий.
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39902917
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
petrav
А дело в том, что в потоке GUI могут приниматься какие-то решения.
"Уж сколько раз твердили миру", что основная работа должна делаться в отдельном потоке, "но только всё не впрок".

Допустим у нас есть поток GUI. Он выполняет свои задачи отображения данных. Есть рабочий поток, который управляет взаимодействием с устройством, есть поток чтения из Ethernet, причём чтение вообще блокирующее. Причём из потока GUI нужно управлять логикой выполнения в рабочем потоке. Нужно останавливать работу из потока чтения Ethernet, нужно перезапускать логику алгоритма внутри рабочего потока, но из потока GUI. И переключать чтение на другой канал данных. Нужно что бы поток GUI отображал всегда корректные данные. А если поток GUI принимает решение об управлении устройством? Нельзя? Нужно. Всё должно работать как часы.

И абсолютно потокобезопасно. Если пользователь нажимает кнопку Закрыть, то все потоки корректно завершают свою работу. И всё красиво без малейших задержек.
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39902918
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Вот в чём конфликт идеологий.
Вот только не надо разводить глубокой философии на мелких местах: есть требования и ограничения, а есть - возможность "попереставлять планку".
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39902921
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petravкоторые надёжны и функциональны.

Точнее будет "хоть как-то работают, но уже сейчас".

petravА если поток GUI принимает решение об управлении устройством? Нельзя? Нужно.
Всё должно работать как часы.
Сам по себе? Это фантастика. GUI поток может только передавать "внутрь" воздействия
пользователя. А если ползатель зажал кнопку и не отпускает, то и передавать нечего. Не
может мышь сразу два воздействия произвести.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39902923
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
petrav
Вот в чём конфликт идеологий.
Вот только не надо разводить глубокой философии на мелких местах: есть требования и ограничения, а есть - возможность "попереставлять планку".

Без проблем. Есть люди, которые создают качественные приложения. Я всегда об этом говорил. А есть которые просто планку переставляют. И об этом я тоже говорил. В своих топиках я хотел бы разговаривать с профессионалами, а не с теми кто планку переставляет.
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39902924
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

petravА если поток GUI принимает решение об управлении устройством? Нельзя? Нужно.
Всё должно работать как часы.

Сам по себе? Это фантастика. GUI поток может только передавать "внутрь" воздействия
пользователя. А если ползатель зажал кнопку и не отпускает, то и передавать нечего. Не
может мышь сразу два воздействия произвести.

Не... не в этом дело. Мир несовершенен. Допустим мы спроектировали наше приложение так, что только из рабочего потока непосредственно взаимодействуем с устройством. Не всё так просто. Иногда нужно срочно разработать тестовый функционал, так что бы он работал из потока GUI напрямую с оборудованием - это заманчиво просто, но не убил поток рабочий. Это сложно.
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39902925
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

Сам по себе? Это фантастика. GUI поток может только передавать "внутрь" воздействия
пользователя. А если ползатель зажал кнопку и не отпускает, то и передавать нечего. Не
может мышь сразу два воздействия произвести.

Т.е. ты рассуждаешь в терминах идеального проектирования и достаточного времени на реализацию. Но так бывает не всегда, это большая удача когда тебе позволили реализовать идеальный дизайн (архитектуру) приложения.
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39902930
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем, смысл в чём? Смысл в поиске идеальной архитектуры, это невозможно, ищем компромисс.

- И так что бы логика приложения не зависела от GUI.
- И так что бы гарантированно потокобезопасно в нашей концепции.
- И что бы просто было в использовании нашего фундамента.

Чем мы за это платим? За всё нужно платить. В данном случае платим тем, что фундамент приложения заточен сугубо под наши задачи. Заточен в мелочах, причём в управляемых мелочах.
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39902931
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
И так что бы логика приложения не зависела от GUI.
Скажу грубо - враньё.
И начальство вас не поймет. И денег не выделит.
Если у вас учетка, и отклик гуи приемлемый, то БЛ можно делать прямо в потоке ГУИ.
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39902932
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БЛ - бизнес логика
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39902938
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39903097
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сутки прошли. Профилактика закончилась.

По теме. Докину несколько ссылок.

1) Возможно автору будет интересно:
Тяпничная будущая мультипоточность

2) Доклад некого Куканова. Альтернативный взгляд на программирование мультипоточки. Не знаю будет ли применительно
к материальному и аппаратному обеспечению автора... но к сведению.
[spoiler]
YouTube Video
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39903116
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
1) Возможно автору будет интересно:
Тяпничная будущая мультипоточность
хороший твой стартовый пост и посыл - программирование усложняется и асинхроность из экзотики превращается прямо нв глазах в необходимость. В андроид, компилятор/IDE отказывается компилировать если вызов http в основном потоке.))
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39903117
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Ну и еще одно соображение.
Если тренд топика только теория, без подходов ЯП, то топик больше подходит в тему Разработка ИС.
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39903121
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton
1) Возможно автору будет интересно:
Тяпничная будущая мультипоточность
хороший твой стартовый пост и посыл - программирование усложняется и асинхроность из экзотики превращается прямо нв глазах в необходимость. В андроид, компилятор/IDE отказывается компилировать если вызов http в основном потоке.))

А как компилятор узнаёт в каком потоке код будет исполняться?
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39903128
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
А как компилятор узнаёт в каком потоке код будет исполняться?
не знаю.
Я исполнил его/их волю, засунул в поток, выполнил проект и получил деньги.
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39903134
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
petrav
А как компилятор узнаёт в каком потоке код будет исполняться?
не знаю.
Я исполнил его/их волю, засунул в поток, выполнил проект и получил деньги.

Узнай.

Кстати, можно ссылку на проект? В магазине есть, надеюсь?
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39903140
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,
Какой магазин, я же на работе.
По поводу узнать, не интересно. Есть системный код и есть прикладной. На оба направления вас не хватит.
Увы.
...
Рейтинг: 0 / 0
25 сообщений из 156, страница 3 из 7
Форумы / C++ [игнор отключен] [закрыт для гостей] / MS Windows: кнопка Close блокирует GUI
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]