0 / 0 / 0
Регистрация: 04.05.2008
Сообщений: 24

Многопотоковое программирование на VB

05.11.2009, 21:43. Показов 1125. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Может кто знает как создавать многопотоковые приложения, просветите незнающего. Спасибо заранее.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.11.2009, 21:43
Ответы с готовыми решениями:

Многопотоковое умножение матриц C#
Программа ниже производит умножение двух матриц. Нужно изменить ее, реализовав многопоточность (threads), чтобы каждому умножению строки на...

Первое многопотоковое приложение
Доброго времени суток, Миряне! решил начать осваивать создание многопотоковых приложений, ибо большо смотреть как мой "Hello...

Как создать многопотоковое прокси приложение?
1)Подключаться к прекси ир логин пароль порт каждый отдельный поток 2) открывает урл и находиться там 60 сек 3)повторить п1-п2 без...

6
Hover
07.11.2009, 22:30
А черт его знает. API функция CreateThread вообще работает через раз: при компиляции или запуске ВБ вообще пишет что-то типа недопустимая функция. Предлагаю использовать асмовские длл, там с мультитреадингом никаких проблем нет.
CatsTail
08.11.2009, 22:19
Эпплман, Гуру VB не рекомендует использовать нити в VB... А для чего это может понадобиться?
Hover
09.11.2009, 22:31
В офисных приложениях действительно без мультитреадинга в большинстве случаев можно обойтись, а вот если приходится забредать в область мультимедии, или полусистемных программ (совсем системные программы писать на ВБ не рекомендует жизнь и многие люди), то тут без многопотоковости трудно.
Примеры: браузер, к-й не использует ядро Ослика IE, может использовать мультитреадинг, для одновременной загрузки нескольких компонент страницы, нескольких страниц и т.д. (это не самый удачный пример)
Более характерным примером является обычный видеоплейер, в котором удобно сделать, чтобы один поток воспроизводил звук, а другой видеопоток.
Кроме того потоки можно программно приостанавливать и повторно запускать, поэтому если программе приходится выполнять длительное действие и хочется чтобы была кнопка паузы, то это самое действие можно запустить в отдельном потоке и по нажатию кнопки паузы тормозить его.
Или вот фоновое сохранение результатов работы программы. Тоже иногда полезно вынести в отдельный поток.
Если делается пользовательский элемент управления, нагруженый анимацией и разными эффектами, то чтобы он своей красотой не тормозил всю программу, все анимированные эффекты тоже хорошо бы вынести в отдельный поток, или в несколько потоков.
В общем применения многопотоковости есть. И чаще всего программа либо обходится совсем без многопотоковости, и ее добавление лишь создает лишнюю головную боль, либо без многопотоковости обойтись просто невозможно. Словом многопотоковость приходится использовать в при решении задач повышенной сложности либо особой специфики.
Hover
14.11.2009, 23:37
>Эпплман, Гуру VB не рекомендует использовать нити в VB...
А не рекомендует он их использовать потому, что как программу в VB не организуй, а экземпляр MSVBVM60.DLL будет загружен всего один, и есть риск, что два потока почти одновременно обратятся к одной и той же фынкции в этой преславутой библиотеке. А в этом случае может получится каша, вернее мясо. Т.к. один и тот же экземпляр процедуры с одним набором локальных переменных будет осполняться одновременно в разных точках. Какой будет беспорядок со значениями этих переменных примерно понятно.
0 / 0 / 0
Регистрация: 10.11.2009
Сообщений: 18
15.11.2009, 15:37
почитай http://www.codenet.ru/progr/vbasic/threads.php
- статья Эпплмана

to Termal
А не рекомендует он их использовать потому, что как программу в VB не организуй, а экземпляр MSVBVM60.DLL будет загружен всего один, и есть риск, что два потока почти одновременно обратятся к одной и той же фынкции в этой преславутой библиотеке.

Мне интересно как же вообще рабтает тогда Windows и его пресловуте библиотеки kernel32.dll, user32.dll...?? Ведь куча прграмм использует функции этих библиотек ;-)
0
Hover
16.11.2009, 19:18
Я конечно могу дико заблуждаться, но по-моему, к каждому процессу прикрепляется по новому экземпляру необходимых библиотек.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.11.2009, 19:18
Помогаю со студенческими работами здесь

Многопотоковое приложение - ткнуть пальцем на ошибку
Короче, при запуске приложения стартует таймер, по событию которого создается поток. Далее таймер снова активирует себя и назначает другой...

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

Напишите многопотоковое приложение, одновременно выполняющее сортировку одного и того же массива разными способами
Напишите многопотоковое приложение, одновременно выполняющее сортировку одного и того же массива разными способами (убывание, возрастание)....

Программирование одномерных массивов. Программирование двумерных массивов. Программирование динамических массивов VBA
1. Написать процедуру по упорядочению элементов заданного массива В в следующем порядке: сначала идут положитель- ные числа, потом – нули и...

Выбор кафедры в дальнейшей жизни: прикладное программирование VS системное программирование
Сразу извиняюсь что очень не по теме но всё же лучшего форума для этого вопроса я не нашел. Итак я вступаю во взрослую жизнь и давно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru