فصل صفر: مقدمه
0-1. چرا همروندی و موازیسازی مهم است؟
0-2. مروری بر قفل سراسری مفسر در پایتون
0-3. تنظیم محیط توسعه
0-4. آنچه که این کتاب پوشش میدهد
0-5. کاربردهای دنیای واقعی
0-6. مراحل عملی برای شروع کار
0-7. خلاصهی نکات کلیدی
0-8. تمرینها و چالشها
فصل اول: مبانی موازیسازی و همروندی
1-1. تعریف موازیسازی و همروندی: تفاوت عمده و موارد کاربردی
1-2. زمینهی تاریخی و تکامل در پایتون
1-3. مزایایی برای نرمافزار مدرن: سرعت، کارایی و مقیاسپذیری
1-4. چالشها و مشکلات برای مبتدیان
1-5. کار عملی: اولین برنامهی موازی ساده
1-6. کاربردهای دنیای واقعی
1-7. مراحل عملی برای شروع کار
1-8. خلاصهی نکات کلیدی
1-9. تمرینها و چالشها
فصل دوم: شروع کار با چند پردازشی
2-1. مقدمهای بر ماژول multiprocessing
2-2. ایجاد و مدیریت فرایندها
2-3. مبانی ارتباط بین فرایندها
2-4. اشتراکگذاری ایمنِ دادهها بین فرایندها
2-5. تمرین عملی: ساخت برنامهی موازی ساده
2-6. کاربردها در دنیای واقعی
2-7. مراحل عملی برای شروع کار
2-8. خلاصهی نکات کلیدی
2-9. تمرینها و چالشها
فصل سوم: تکنیکهای پیشرفتهی چند پردازشی
3-1. استفاده از مخزن فرایندها برای توزیع کارآمد وظیفهها
3-2. ماژولهای Executors و Futures برای نتایج ناهمگام
3-3. پیادهسازی مبادله پیام با Queues و Pipes
3-4. اداره کردن ارتباط بین فرایندها (IPC)
3-5. مثال کاربردی: موازیسازی وظایف پردازش داده
3-6. کاربردهای دنیای واقعی
3-7. مراحل عملی برای شروع کار
3-8. خلاصهی نکات کلیدی
3-9. تمرینها و چالشها
فصل چهارم: همگامسازی و مدیریت منابع در برنامههای موازی
4-1. آشنایی با شرایط مسابقه و بنبستها
4-2. قفلها، سمافورها و موانع در چندپردازشی
4-3. مدیریت حالت مشترک در فرایندها
4-4. بهترین شیوهها برای اشکالزدایی برنامهی موازی
4-5. پروژه عملی: تحلیلگر فایلِ چند فرایندی
4-6. کاربردهای دنیای واقعی
4-7. مراحل عملی برای شروع کار
4-8. خلاصهی نکات کلیدی
4-9. تمرینها و چالشها
فصل پنجم: آشنایی با برنامهنویسی همروند
5-1. نخها در مقابل فرایندها: چه زمانی از هر کدام استفاده شود
5-2. ماژول threading در پایتون
5-3. ایجاد و همگامسازی نخها
5-4. مفاهیم پایه در ایمنی نخ
5-5. مثال عملی : استخراج دادهها از وب به طور همروند
5-6. کاربردهای دنیای واقعی
5-7. مراحل عملی برای شروع کار
5-8. خلاصهی نکات کلیدی
5-9. تمرینها و چالشها
فصل ششم: اَعمال پایهی همگامسازی در چندنخی
6-1. Lock، RLocks و Conditions در هماهنگی نخها
6-2. سمافورها، رویدادها و کنترل پیشرفته
6-3. صفها برای مبادلهی ایمن دادهها با نخ
6-4. اجتناب از مشکلات چند نخی
6-5. کارعملی: ساخت سیستم چندنخی تولیدکننده ـ مصرفکننده
6-6. کاربردهای دنیای واقعی
6-7. مراحل عملی برای شروع کار
6-8. خلاصهی نکات کلیدی
6-9. تمرینها و چالشها
فصل هفتم: برنامهنویسی ناهمگام با ماژول asyncio
7-1. مفاهیم کلیدی: همروالها، وظیفهها و حلقههای رویداد
7-2. نوشتن اولین تابع ناهمگام
7-3. اداره کردن چند وظیفه به طور همروند
7-4. ترکیب ماژول asyncio با کد همگام
7-5. کار عملی: کلاینت شبکه ناهمگام
7-6. کاربردهای دنیای واقعی
7-7. مراحل عملی برای شروع کار
7-8. خلاصهی نکات کلیدی
7-9. تمرینها و چالشها
فصل هشتم: ویژگیهای پیشرفتهی ماژول asyncio
8-1. اداره کردن استثناها در کد ناهمگن
8-2. زمانهای انقضا، کنسل کردن وظیفه و بازیابی خطا
8-3. استفاده از ماژول asyncio برای اَعمال مقید به ورودی ـ خروجی
8-4. ترکیب ماژول asyncio با چند نخی و چند پردازشی
8-5. پروژه: ساخت سرور وبِ ناهمگام
8-6. کاربردهای دنیای واقعی
8-7. مراحل عملی برای شروع کار
8-8. خلاصهی نکات کلیدی
8-9. تمرینها و چالشها
فصل نهم: رایانش توزیع شده با پایتون
9-1. مقدمهای بر سیستمهای توزیع شده
9-2. پیکربندی یک کارگزار پیام (مثل RabbitMQ)
9-3. نصب و پیکربندی Celery
9-4. ایجاد کارگران و وظیفهها برای اجرای توزیع شده
9-5. مقیاسبندی برنامهها روی چندین ماشین
9-6. کاربردهای دنیای واقعی
9-7. مراحل عملی برای شروع کار
9-8. خلاصهی نکات کلیدی
9-9. تمرینها و چالشها
فصل دهم: موضوعات پیشرفته و کاربردهای دنیای واقعی
10-1. بهینهسازی عملکرد و کاربردهای دنیای واقعی
10-2. ترکیب کد موازی ـ همروند با کتابخانهها (مثل Numpy و Pandas)
10-3. آزمون و اشکالزدایی سیستمهای توزیع شده
10-4. پروژههای عملی: رایانش با عملکرد بالا در علم داده و برنامههای تحت وب
10-5. روندهای آینده در همروندی پایتون
10-6. کاربردهای دنیای واقعی
10-7. مراحل عملی برای شروع کار
10-8. خلاصهی نکات کلیدی
10-9. تمرینها و چالشها
واژهنامه انگلیسی به فاسی