Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Потоки в Visual Basic

Реферат Потоки в Visual Basic





икаєте метод проміжного об'єкта. Ваш поточний потік припиняється, запит методу переадресовується первісного потоку і викликається метод первісного об'єкта в тій же самому потоці, який створив об'єкт. Якби цикл був в об'єкті, то Ви б заморозили початковий потік.

Хорошим результатом застосування цього підходу є те, що все працює правильно. Об'єкт clsBackground може безпечно показувати форми і генерувати події. Недоліком цього підходу є, звичайно, його більш повільне виконання. Перемикання потоків і переадресація (marshalling) - відносно повільні операції. Ви фактично ніколи не захочете виконувати фонову операцію як показано тут.

Але цей підхід може надзвичайно добре працювати, якщо Ви можете поміщати фонову операцію безпосередньо у функцію BackgroundFuncApt! Наприклад: Ви могли б мати фоновий потік, що виконує фонові обчислення або операцію очікування системи. Коли вони будуть завершені, ви можете викликати метод об'єкта, який згенерує подія в клієнті. Зберігаючи кількість викликів методу, невелике щодо кількості роботи, що виконується в фонової функції, Ви можете досягати дуже ефективних результатів.

Що, якщо Ви хочете виконати фонову операцію, яка не повинна використовувати об'єкт? Очевидно, проблеми з угодою COM про потоки зникають. Але з'являються інші проблеми. Як фоновий потік повідомить про своє завершення пріоритетному потоку? Як вони обмінюються даними? Як два потоки будуть синхронізовані? Все це можливо виконати за допомогою відповідних викликів API. У моїй книзі Visual Basic 5.0 Programmer's Guide to the Win32 API є інформації щодо об'єктів синхронізації типу Подій, Mutexes, семафори і Waitable таймер.

Ця книга також включає приклади файлів відображаються в пам'ять, які можуть бути корисні при обміні даних між процесами. Ви зможете використовувати глобальні змінні, щоб обмінюватися дані, але треба знати, що таке поведінка не гарантується Visual Basic (іншими словами, навіть якщо це зараз працює, немає ніяких гарантій, що це буде працювати в майбутньому). У цьому випадку я міг би запропонувати Вам використовувати для обміну даними методики, засновані на API. Однак, перевагою показаного тут підходу, заснованого на об'єктах, є те, що цей підхід робить проблему обміну даними між потоками тривіальної, просто робіть це через об'єкт.

Висновок

Я одного разу почув від досвідченого програміста під Windows, що OLE є найважчою технологією, якою він коли-небудь навчався. Я з цим згоден. Це дуже велика тема, і деякі частини цієї технології дуже важко зрозуміти. Visual Basic, як завжди, приховує від Вас багато складнощів. p> Мається сильне спокуса, щоб користуватися перевагою просунутих методів типу багатопотокового режиму, використовуючи підхід "tips and techniques". Це спокуса заохочено деякими статтями, які іноді представляють специфічне рішення, запрошуючи Вас вирізати і вставити (cut and past) їх методики у ваші власні програ...


Назад | сторінка 14 з 15 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Додаток в Visual Basic для роботи з базою даних
  • Реферат на тему: Об'єктно-орієнтоване програмування за допомогою Microsoft Visual Basic ...
  • Реферат на тему: Розробка в Visual Basic додатки "Дослідження методів обчислення визнач ...
  • Реферат на тему: Створення програми для обчислення площі геометричних фігур у середовищі Vis ...
  • Реферат на тему: Розробка та проектування інформаційної системи для салону мобільного зв' ...