سلام..
تا جایی که من اطلاع دارم:
شما اگه یه پردازنده ی تک هسته ای داشته باشین
تقسیم یه کد به چن کد که تقریبا هم زمان اجرا بشن مشکل خاصی رو حل نمی کنه..
چون پردازنده در هر لحظه مشغول اجرای یکی از اون کد ها هست..
فقط این دفعات switch کردن بین برنامه ها انقدر سریع هست
که شما فک می کنید دارن هم زمان اجرا می شن..
ولی اگه چند هسته یا چند پردازنده داشته باشین
multithreading و multiprocessing می تونه کمکتون کنه..
ینی هر قسمت از کد در یه هسته ی جدا اجرا بشه..
البته در پیاده سازی اصلی پایتون به نام CPython این multithreading ظاهرا یه مقدار ماجرا داره..
ینی مث این که در پیاده سازی اصلی به دلیل وجود چیزی به نام GIL
اصن thread ها هم زمان در هسته های جدا اجرا نمی شن..
یه راه حل استفاده از ماژول multiprocessing هست..
یا می تونید از پیاده سازی های دیگه ی پایتون استفاده کنید..
خوب البته به جای این که یه برنامه بنویسید و توش کد multithreading یا multiprocessing بزنید
گاهی یه راه دیگه هم مشابه اون چیزی که خواستید هست..
می تونید چن نسخه از برنامتون رو (به تعداد هسته های پردازنده..)
هر کدوم رو در هسته ای جداگانه اجرا کنید.. (نه در یک هسته..)
این طوری می تونید سرعت کار رو ببرید بالا.. (این هم یه جورایی استفاده از چند thread و چند process محسوب می شه..)
یه برنامه ای در لینوکس برای تعیین این که یه process از چه هسته هایی استفاده کنه وجود داره به اسم taskset:
http://xmodulo.com/run-program-process-specific-cpu-cores-linux.htmlمی خواید تست کنید ببینید می تونه با پایتون کار کنه و شما رو به هدفتون برسونه..؟