![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Два, или двадцать два потока могут быть как синхронными, так и асинхронными. Один поток может включать как синхронные, так и асинхронные операции. Вы сами указали, как. Параллельные включать не умеет.
Пример: в 1 потоке выполняется синхронная функция, ожидающая данные из 2, 3 и 4 потоков, а результатов ее выполнения ожидают функции, распределенные в 5, 6, 7 и 8 потоках.
Все дружно стоим и ждем результата. А теперь - внимание: что, если синхронная функция ждет данные из своего потока? И, не дай бог, эти данные зависят от ее результата?
Нет не все.
Пример: в 1 потоке выполняется синхронная функция, ожидающая данные из 2, 3 и 4 потоков, а результатов ее выполнения ожидают функции, распределенные в 5, 6, 7 и 8 потоках.
Все дружно стоим и ждем результата. А теперь - внимание: что, если синхронная функция ждет данные из своего потока? И, не дай бог, эти данные зависят от ее результата?
Ладно, отвечу сам:
Canvas начнет моргать.
Перевожу, то что Вам уже ответил представитель компании разработчиков МТ:
Создавать потоки из MQL нельзя. Даже при помощи WinAPI.
Вы можете это сделать, только написав свою DLL.
Можно, в MQL5\Include\WinAPI\processthreadsapi.mqh есть обертки
HANDLE CreateThread(PVOID thread_attributes,ulong stack_size,PVOID start_address,PVOID parameter,uint creation_flags,uint &thread_id);
Вот только что дальше с тредами делать через MQL? Поэтому и написали, что надо делать DLL и там с ними работать.
Пример: в 1 потоке выполняется синхронная функция, ожидающая данные из 2, 3 и 4 потоков, а результатов ее выполнения ожидают функции, распределенные в 5, 6, 7 и 8 потоках.
Все дружно стоим и ждем результата. А теперь - внимание: что, если синхронная функция ждет данные из своего потока? И, не дай бог, эти данные зависят от ее результата?
Алексей Тарабанов:
Ладно, отвечу сам:
Canvas начнет моргать.
Выделенное не имеет смыслового значения.
Насчет других тредов, пока данные не готовы, будет ждать. Моргать ничего не будет.