سرمایه گذاری متفاوت در سال نو 🍎🌱 ۳۵٪ تخفیف نوروزی ➕ حضور رایگان در مسترمایند نخبگان صنعت نرم‌افزار 💻✅
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ Amin Deimkar
مولتی تریدینگ در مولتی پراسسینگ
جامعه پایتون (وب) ایجاد شده در ۲۰ مهر ۱۴۰۰

سلام

امکان اجرای مولتی تریدینگ در مود مولتی پراسسینگ وجود دارد؟

سلااااااااااااااااام امین جان

روزت بخیر

بله. شخصا انجام دادم. و کار جالبی هم هست.

فقط طبق دانشی که دارم این نکته وجود داره که درستش همینه که گفتی یعنی داخل مولتی پراسس، مولتی ترد داشته باشیم و برعکسش درست نیست.

و اینکه باید از مولتی ترد و مولتی پراسس در جای درستش استفاده کنیم که برامون بهینگی زمانی داشته باشه. 

معمولا از مولتی ترد زمانی استفاده میکنیم که داریم کارهای مربوط به I/O میکنیم مثل درخواست گرفتن یه صفحه وب یا نوشتن تو فایل و دیتابیس و اینطور موارد.

و از مولتی پراسس زمانی استفاده میکنیم که پردازش‌های سنگین یا زیاد داریم.

و اینکه تو مولتی ترد حافظه مشترک هست و GIL وجود داره. در واقع چند ترد دارن داخل یه پراسس با حافظه مشترک کار میکنن.

و داخل مولتی پراسس هر پراسس حافظه خودش رو داره و میتونیم توش چند تا ترد ایجاد کنیم.

نکته ی دیگه ای که هست اینه که برای ایجاد مولتی ترد توی تعدادش محدودیت کمتری داریم. اما تو مولتی پراسس یه حداکثر تعدادی وجود داره، و خوب نیست بیشتر از اون حداکثر پراسس بسازیم. تعدادش رو دقیق مطمئن نیستم ولی فک میکنم فرمولش اینه:

حداکثر تعداد پراسس = تعداد هسته‌های CPU ضربدر ۲

برای بدست آوردن تعداد پراسس تو لینوکس از دستور زیر استفاده میکنیم:

nproc

اگر مولتی پراسس همراه با مولتی ترد رو پیاده سازی کردی،‌ لطفا تجربه ات رو اینجا بگو و اگر امکانش بود کدت رو هم بذار.

 

شاد و موفق باشی :)

محمدعلی رضا ۲۱ مهر ۱۴۰۰، ۰۷:۴۱