Допустим у меня запускается 4 потока, а в них запускаются ещё 2 асинхронных функции. И проблема в том, как сделать так, чтоб в первом потоке я ждал завершения только тех асинхронных функций, которые вызвал в данном потоке? Иначе действие будет ждать завершения асинхронных функций во всех потоках.
У вас ID потока, в котором запускается асинхронная функция, находится в локальной переменной, она не может быть передана в другой поток. Используйте глобальную переменную для ID потока с функцией "GET_CODE".
Пример: threads.xml