Здравствуйте, Cyberax, Вы писали:
C>d Bratik пишет:
>> C>Ррррррррр..... Да _НИ_ _ОДНА_ распространенная GUI не дружит с
>> C>многопоточностью по очень простой причине — ВСЕ они построены на
>> C>концепции очереди сообщений (событий, сигналов). Но при этом _ЛЮБУЮ_
>> C>современную GUI-систему можно использовать в многопоточной среде,
>> приняв
>> C>соответствующие меры.
>> Тогда Вы может быть мне расскажите, какие меры нужно принять, чтобы
>> организовать многопоточное рисование (требуется просто фоновое
>> рисование двух картинок) в Qt-программе, работающей на Солярисе?
C>Рисовать картинки в разных потоках, передавать обновленные картинки в
C>GUI-тред, а в GUI-треде их показывать.
В Qt рисование (любое, даже картинки) в потоке небезопасно, если в это время выполняется цикл обработки сообщений
C>Кстати, рисование средствами какой библиотеки производится?
X11. Она не многопоточна
>> Или под "соответствующими мерами" понимается также смена оконного
>> менеджера, библиотеки графического вывода и операционной системы?
C>Нет, понимается синхронизация и маршаллирование вызовов.
>> C>А, все понятно. Теоретик, оторванный от практики.
>> Это кто, Вирт, что ли? С его практикой может сравниться только
>> практика Хайльсберга (и то с натяжкой). Стыдно этого не знать.
C>Чего? Как практиков я уважаю: Кернигана и Ритчи (создателей языка С), Б.
C>Страуструпа, Алана Кея (с натяжкой) и многих других.
C>Вот Вирта в этом списке нет, так как я не помню хороших его практических
C>творений: Pascal годен только для обучения, Oberon не входит даже в
C>сотню самых распространенных языков, а Дельфи делалась и вовсе без Вирта
C>(наверное поэтому и получилось сравнительно удачной). Я не спорю, что
C>Вирт сделал много для развития теории (как и Дональд Кнут), но вот для
C>практики....
Это невежество простительно лишь для студента первого курса. Вирт системы делал, а языки Pascal, Modula, Oberon — лишь побочный продукт его деятельности. Именно Виртом и его командой были придуманы и реализованы (в операционной системе Oberon) все самые лучшие технические идеи, которые спустя несколько десятилетий были внедрены в .NET: высокоуровневый байт-код, динамическая компиляция, автоматическая сборка мусора, контроль типов во время выполнения программы, полная информация о типах в исполняемых модулях, расширяемость программ без их перекомпиляции и многое другое. Вирт собственноручно проектировал язык, программировал компилятор, операционную систему, графическую библиотеку визуальных компонентов и др. Проблема Вирта лишь в том, что он слишком сильно (на 20-30 лет) опередил свое время.
Кернигана и Ритчи — неплохие ребята, но до Вирта им как до луны. Да, они тоже делали язык, компилятор и операционную систему, поэтому их есть за что уважать (хотя все их творения уже давно морально устарели).
Страуструп вообще ничего практического не сделал.