нужна помощь программа отправляет пост запросы на список сайтов, но дело в том, что если сделать 40 потоков, то все 40 потоков отправят запрос на первый сайт, затем на второй, третий и т.д. как сделать чтобы первый поток отправлял запрос на первый сайт, второй на второй сайт и т.д.?
нужен отдельный поток - который будет управлять всеми потоками рабами... (дочерними) Вот он и должен распределять задания между потоками... куда и скока раз зайти и т.д. Это как в армии... командир построил роту , и сказал кто и где что будет сегодня делать... а солдат выполнив задание докладывает об этом командиру... и тогда командир дает солдату новое задание... если оно есть
synchronize - Скорее используется для безопасного доступа потоков к интерфейсу.... или например файлам... Например если какой либо поток в данный момент времени использует какойто объект через synchronize, то другой поток не может получить к объекту доступ, покуда этот объект занят другим потоком.
Критическая секция это аналог synchronize но для кода... Это как бы сделать кусок кода... который может выполняться не одновременно а только в одном экземпляре например удаление звеньев из связаного списка.... нельзя же чтобы потоки одновремено чтото удаляли потому код удаления или прибаления в свзянный список делаешь критическим. Тоесть выполнение участка кода отвечающего за удаление или прибавление звеньев в связаный список не может выполняться одновременно Вот пример http://www.cyberguru.ru/programming/win32/windows-processes-page12.html
Как вариант напиши функцию.... которая работает по методу критической секции ПРи вызове функции, она должна отдать URL И при этом функция запоминает какой URL отдала, чтобы при следующем вызове дать новый URL. А вот твои потоки... чтобы получить URL вызывают эту функцию.... и тогда потоки всегда будут получать разные URL вот и весь процесс...