- عنوان کتاب: C# Concurrency – Asynchronous and multithreaded programming
- نویسنده: Nir Dobovizki
- حوزه: برنامه نویسی #C
- سال انتشار: 2025
- تعداد صفحه: 250
- زبان اصلی: انگلیسی
- نوع فایل: pdf
- حجم فایل: 1.2 مگابایت
من بیش از 30 سال است که یک توسعه دهنده نرم افزار هستم و از اواخر دهه 1990 با استفاده از برنامه نویسی چند رشته ای و ناهمزمان سرورهای با کارایی بالا را توسعه می دهم. من از سال 2003 از سی شارپ استفاده میکنم. در دهه گذشته و کمی، به عنوان مشاور کار کردهام، برای مدت کوتاهی وارد پروژهای شدهام و به حل یک مشکل خاص کمک کردهام. در طول آن دهه، من این امتیاز را داشتم که از شرکت های زیادی بازدید کنم، و توانستم پروژه های زیادی را ببینم و به آنها کمک کنم. در حالی که واضح است که هر پروژه کاملاً متفاوت است، با هر شرکتی که فناوری نوآورانه، مخرب و منحصر به فرد خود را اختراع می کند، پس از اینکه با پروژه های کافی مواجه شدید، شروع به مشاهده برخی شباهت ها می کنید. و چیزی که بارها و بارها دیده ام مشکلات ناشی از استفاده نادرست از برنامه نویسی چند رشته ای و ناهمزمان است. Multithreading یک مفهوم ساده است: شامل اجرای چندین کار به طور همزمان است. دریافت درست آن بسیار دشوار است، اما با وجود این دشواری، مدت زیادی است که به طور گسترده مورد استفاده قرار می گیرد. توسعه دهندگانی مانند شما که برای مطالعه چند رشته ای از طریق کتاب ها وقت می گذارند، می توانند به طور موثر از آن استفاده کنند. برنامه نویسی ناهمزمان از زمان اختراع ریزپردازنده وجود داشته است و مدت زیادی است که در سرورهای با کارایی بالا استفاده می شود. با این حال، زمانی که ویژگی async/wait در سی شارپ در سال 2012 معرفی شد، محبوبیت بیشتری در میان توسعه دهندگان متوسط به دست آورد. (این ویژگی قبلاً در جاوا اسکریپت معرفی شد، اما به روشی محدود.) بر اساس مشاهدات من از پروژه های مختلف و تجربه من در انجام مصاحبه های شغلی، متوجه شدم که تعداد کمی از مردم می دانند که async/wait چگونه کار می کند. مشکلات ناشی از کمبود دانش در برنامه نویسی چند رشته ای و ناهمزمان کاملاً آشکار است. فقط در یک ماه یا بیشتر که درباره انتشار این کتاب با منینگ صحبت کردم، چند رشته ای و async/wait را در سه شرکت مختلف آموزش دادم.
I’ve been a software developer for over 30 years now and have been developing high-performance servers using multithreading and asynchronous programming since the late 1990s. I’ve been using C# since 2003. For the last decade and a bit, I’ve worked as a consultant, coming into a project for a short period of time and helping solve a specific problem. Over that decade, I’ve had the privilege of visiting many companies, and I’ve gotten to see and help with a lot of projects. While every project is obviously completely different, with each company inventing its own innovative, disruptive, and one-of-a-kind technology, after you encounter enough projects, you start to see some similarities. And one thing I’ve seen time and time again are problems arising from incorrect usage of multithreading and asynchronous programming. Multithreading is a straightforward concept: it involves running multiple tasks simultaneously. It is notoriously difficult to get it right, but despite this difficulty, it has been widely used for a long time. Developers like you, who take the time to study multithreading through books, are able to use it effectively. Asynchronous programming has existed since the invention of the microprocessor and has long been used in high-performance servers. However, it gained wider popularity among average developers when the async/await feature was introduced in C# in 2012. (It was introduced in JavaScript earlier, but in a limited way.) Based on my observations of various projects and my experience conducting job interviews, I’ve found that very few people understand how async/await works. The problems arising from a lack of knowledge in multithreading and asynchronous programming are quite apparent. In just the month or so that I discussed publishing this book with Manning, I taught multithreading and async/await at three different companies.
این کتاب را میتوانید از لینک زیر بصورت رایگان دانلود کنید:
Download: C# Concurrency – Asynchronous and multithreaded programming
نظرات کاربران