import asyncio


@asyncio.coroutine
def start_threads(amount, func, *args):
    features = dict()
    loop = asyncio.get_event_loop()
    for i in range(amount):
        features['feature_' + str(i)] = loop.run_in_executor(None, func, *args)
    for k in features:
        features[k] = yield from features[k]
    return (features[k] for k in features)


class TestData(object):

    def __init__(self):
        self.name = None

tests_data = TestData()