1. Берешь список прокси, возможно в виде экземпляров класса TProxy, который ты еще сначала напишешь.
2. Пишешь какой-нибудь простой менеджер, например TProxyManager, который содержит этот список и выдает тебе прокси по запросу, он сам следит за тем, чтобы не выдать два раза один и тот же прокси, пока ты не отправишь ему запрос, например "unlock(proxy)".
3. В своём коде, который хочет прокси, отправляешь менеджеру запрос "proxyManager.getOne()", а он либо отдаёт тебе прокси, либо вызывает исключение если не смог и заодно помечает в своём списке, что этот прокси пока locked.
Ну как то так.