многопотоки, асинхронные функциии и их логика

Поддержка
  • Друзья, убойный вопрос по логие работы многопотоков и асинхронок, в общем, написал скрипт в котором присутствуют 2 асинхронки по мимо основного скрипта, в одном потоке все робит более чем корректно, но стоило мне врубить многопоток, челюсть отпала...
    Прокси и логины с паролями берутся из ресурсов, все данные с новой строки, все как положено.
    По моей логике должно было быть так: При цифре потока = 2 вверху панели с ред. скрипта, Первый поток из файла с проксей берет первую строку и берет первую строку из файла с логпассами и пробегает ее по моему скрипту, вводя данные в моих асинхронках и общем скрипте в соотв. с первыми строками с файлов. Параллельно комп запускает второй поток, который берет вторую строку с файла с проксями и логпассами и пробегает по скрипту уже с этими данными. Но на практике он уже в мою первую по пути выполнения асинхронку засунул данные второй строки, то есть мой мир упал на этом, помогите разобраться как это работает и почему не работает так, как я бы хотел?