Обычно потоки не возвращают значений, а записывают их в list или куда нибудь ещё.
Я бы ваш пример написал так(кстати в results находятся все скачанные страницы):
from multiprocessing.dummy import Pool as ThreadPool
from pprint import pprint
import requests
pattern = 'http://www.astateoftrance.com/episodes/episode-'
start_url = 700
urls_list = []
def gen_urls(start):
for i in range(start, 800):
url = pattern + str(i) + '/'
urls_list.append(url)
def my_url_get(url):
result = requests.get(url)
print("{url} was Downloaded".format(url=url))
return result
gen_urls(start_url)
pprint(urls_list)
pool = ThreadPool(20)
results = pool.map(my_url_get, urls_list)
pool.close()
pool.join()
pprint(results[0].content.decode('utf-8'))