Эффективная многопоточность в python?
asyncio решит все проблемы (если освоите, конечно )) )
если как в ПХП - смотрите, например,
toly.github.io/blog/2014/02/13/parallelism-in-one-line
но aiohttp  для парсинга повеселее будет
кстати, Scrapy  портировали на 3й Питон уже, но сами же говорят что сыроват
касаемо мультипоточности, вот пример кода:if __name__ == '__main__':
    freeze_support()

    pool = Pool(processes=8)
    names = pool.imap_unordered(extract, glob.iglob(GLOBDIR), chunksize=1000)
    for name in names:
        extract(name)
можете поискать по кускам примеры применения
это винда, поэтому freeze_support(), в линухе еще проще
также (processes=8) не равно числу ядер (их 12), подбирается экспериментально от загруза проца, что в win что в lin
glob.iglob(GLOBDIR) читает список файлов по маске, поскольку это итератор, а для пула нужно конкретное конечное число, используется параметр chunksize=1000
функция extract(name) расжимает файл по адресу name, парсит его lxml  и вносит поля в базу, такая комбинация грузит проц на 60-80%, когда в один поток - 9-12%
Здравствуйте, изнините за ответ вопросом: а Вам необходимо использовать скриптовые языки? Если да, то лушче подойдет python, там в коробке есть библиотека: multiprocessing (ну или как-то так, точно не помню, давно это было), собственно она опасная, вызов ее функций ограничивается главный циклом:if __name__ == "__main__":
    вот тут вызываем
соственно это настоящая многопоточность, ибо она опходит GIL (Global Interpreter Lock)
вся загвоздка GIL в том, что в его понятии поток - есть очередь.
Например: у нас есть 3 потока, каджый выпоняет определенную функцию, для каждого свою; выполняется 1 поток, в нем выполняется, нарпимер, 100 операций, потом особая метка GIL переходит ко второму потоку, первый замораживается. Суть в том, что у кого метка GIL, тот и выполняется, остальные ждут метку GIL.
Если вам необходимо просто что-то сделать многопоточно, не зависимо от зяыка.
как вариант, можете посмотреть на C++, тут 3 варианта: MPI (есть билд для питона, можно запустить на кластере), PThread - ООП потоки, достаточно удобна в использовании, главное не залочить все потоки по кругу, в общем, внимательнее, OpenMP - няшечка компилятор сам все распаралелит, главное сказать какие циклы сделать паралельными, присутсвует в g++ и msvs2010+ (компилятор в Visual Studio).
Если вся проблема в том, чтобы запускать программу на любой платформе, то Вам могут подойти Qt и Mono