Привет. Вот есть фрагмент кода.Создаю поток,в потоке идет конект к хосту и посылка пакета. Code: att: push 0 push 0 push 0 push potok push 2000h push 0 call [CreateThread] ; создаем поток mov [t_handle],eax ; его хендл mov eax,-1 push eax push [t_handle] call [WaitForSingleObject] ; ждем завершения потока invoke Sleep,1500 ; ждем jmp att ; повторяем proc potok invoke socket,AF_INET,SOCK_STREAM,6 xchg eax,esi invoke connect,esi,saddr,sizesaddr ; конект ту сервер invoke send,esi,sendbuf,[sizeh],0 ; Сенд ту сервер ; invoke recv,[hSock],recvbuf,3000,0 ; ответ invoke closesocket,esi invoke TerminateThread,[t_handle],0 ; Прерываем поток ret endp Вопрос. Как правельнее и проще сделать чтоб даный код (proc potok) исполнялся в 10-20 потоков ?
все просто,можно задать одну локальную переменную ну вот так к примеру: Code: .386 .model flat,stdcall option casemap:none include include\user32.inc include include\kernel32.inc includelib lib\kernel32.lib includelib lib\user32.lib Thread proto .code start: call potok potok proc local id push 5d pop ecx r: push ecx invoke CreateThread,0,0,offset Thread,0,0,addr id pop ecx loop r ret potok endp Thread proc invoke MessageBox,0,0,0,0 invoke ExitProcess,0 Thread endp end start в любом нормальном task manager можешь посмотреть кол-во потоков