Запланированные задачи - VB6 и Threading - PullRequest
1 голос
/ 23 ноября 2011

Я управляю группой запланированных задач, которые выполняются ежедневно.Запланированные задачи запускают приложение Visual Basic 6, которое вызывает функцию в зависимости от переданного параметра.Например, если «A» было передано запланированной задаче, то запускается функция 1, а если B передается запланированной задаче, то выполняется функция 2 и т. Д. Однако функция 1 и функция 2 также вызывают функцию 3.

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

Ответы [ 3 ]

2 голосов
/ 23 ноября 2011

Краткий ответ - Нет, потому что VB6 не позволяет создавать потоки.Но даже если бы вы использовали язык с поддержкой потоков, неясно, почему общая подпрограмма (функция) должна вызываться с отдельным потоком.

1 голос
/ 23 ноября 2011

В VB нет ничего неявного, что означает, что вам нужно использовать несколько потоков или помнить об этом.Несколько процессов уже полностью разделены.

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

1 голос
/ 23 ноября 2011

Нет. Эти функции никогда не вызываются одновременно.

  • Если передается «A», то запускается функция 1, а затем вызывается функция 3.
  • Если передано «B», то запускается функция 2, а затем вызывается функция 3.

Функция 3 никогда не вызывается дважды одновременно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...