آموزش های زبان برنامه نویسی سی شارپ (#C)

آبان ۶, ۱۳۹۷
آموزش موازی سازی در سی شارپ

استفاده از متد WhenAll برای اجرای چندین Task به صورت همزمان در سی شارپ

استفاده از متد WhenAll برای اجرای چندین Task به صورت همزمان در سی شارپ فرض کنید که داخل یک متد باید چندین متد را به صورت await فراخوانی کنید. به صورت عادی زمانی که متدها فراخوانی می شوند هر بخش await بعد از تکمیل await قبلی اجرا خواهد شد و […]
آبان ۳, ۱۳۹۷
آموزش موازی سازی در سی شارپ

آشنایی با کلمات کلیدی async و await در زبان سی شارپ

آشنایی با کلمات کلیدی async و await در زبان سی شارپ تا این لحظه از مجموعه مطالب مرتبط با مباحث Asynchronous Programming در سی شارپ با ماهیت Asynchronous در delegate ها، کار با Thread ها و کتابخانه TPL در دات نت آشنا شدیم. اما باز هم در برخی سناریو ها […]
مهر ۳۰, ۱۳۹۷
آموزش موازی سازی در سی شارپ

برنامه نویسی Parallel در سی شارپ-کوئری های Parallel در LINQ

برنامه نویسی Parallel در سی شارپ :: کوئری های Parallel در LINQ علاوه بر مواردی که تا کنون پیرامون برنامه نویسی Parallel در دات نت آموختیم امکان نوشتن کوئری های LINQ به صورت Parallel نیز وجود دارد. این قابلیت بوسیله یکسری Extension Method که برای این موضوع تعریف شده امکان […]
مهر ۲۷, ۱۳۹۷
آموزش موازی سازی در سی شارپ

متوقف کردن Task ها در سی شارپ – کلاس CancellationToken

برنامه نویسی Parallel در سی شارپ :: متوقف کردن Task ها در سی شارپ – کلاس CancellationToken زمانی که عملیاتی را به عنوان یک Task اجرا می کنیم، ممکن است بخواهیم آن Task را در حین اجرا متوقف کنیم، برای مثال، Task ای داریم که در حال پردازش ۱۰۰۰ فایل […]
مهر ۱۳, ۱۳۹۷
آموزش موازی سازی در سی شارپ

برنامه نویسی Parallel:آشنایی با کلاس Task در سی شارپ

برنامه نویسی Parallel در سی شارپ :: آشنایی با کلاس Task در سی شارپ در قسمت قبل گفتیم که بوسیله کلاس Parallel و متدهای For و ForEach عملیات پردازش بر روی مجموعه ها را به صورت Parallel انجام دهیم. اما بحث Parallel Programming به همین جا ختم نمی شود و […]
مهر ۱۰, ۱۳۹۷
آموزش موازی سازی در سی شارپ

مقدمه ای بر Task Parallel Library و کلاس Parallel در دات نت

برنامه نویسی Parallel در سی شارپ :: مقدمه ای بر Task Parallel Library و کلاس Parallel در دات نت پیش از این ما در سری مطالب مرتبط با بحث کار با Thread با نحوه ایجاد و مدیریت Thread ها در دات نت آشنا شدیم. از نسخه ۴ دات نت قابلیتی […]
مهر ۸, ۱۳۹۷
آموزش موازی سازی در سی شارپ

آشنایی با CLR ThreadPool در دات نت

کار با Thread ها در زبان سی شارپ :: آشنایی با CLR ThreadPool در دات نت به عنوان آخرین مبحث از سری مباحث مرتبط کار با Thread ها به سراغ نقش CLR ThreadPool می رویم. در قسمت ماهیت Asynchronous در delegate ها گفتیم که بوسیله متد BeginInvoke و EndInvoke می […]
مهر ۲, ۱۳۹۷
آموزش موازی سازی در سی شارپ

آشنایی با کلاس Timer در زبان سی شارپ

کار با Thread ها در زبان سی شارپ :: آشنایی با کلاس Timer خیلی وقت ها در برنامه ها نیاز است که کد ما در بازه های زمانی مشخص اجرا شود، برای مثال کدی که باید هر ۵ ثانیه یا هر یک دقیقه یکبار اجرا شده و عملیات خاصی را […]
شهریور ۲۹, ۱۳۹۷
آموزش موازی سازی در سی شارپ

آشنایی با مشکل Concurrency در برنامه های Multi-Threaded و راهکار های رفع این مشکل

کار با Thread ها در زبان سی شارپ :: آشنایی با مشکل Concurrency در برنامه های Multi-Threaded و راهکار های رفع این مشکل زمانی که ما برنامه های Multi-Threaded می نویسیم، برخی اوقات Thread های ایجاد شده به داده های مشترک در سطح برنامه دسترسی دارند و وظیفه ما به […]
شهریور ۲۵, ۱۳۹۷
آموزش موازی سازی در سی شارپ

آشنایی با Thread های Foreground و Background در دات نت

کار با Thread ها در زبان سی شارپ – آشنایی با Thread های Foreground و Background در دات نت زمانی که یک Thread جدید در برنامه های دات نت ایجاد می شوند، این Thread ها می توانند به دو صورت Foreground و Background اجرا شوند: Thread های Foreground: زمانی که […]
شهریور ۲۰, ۱۳۹۷
آموزش موازی سازی در سی شارپ

آشنایی با ماهیت Asynchronous در Delegate ها

به خاطر دارید که Delegate نوع های داده ای بودند که اطلاعات مربوط به یک متد را در خود نگهداری می کردند؟ زمانی که یک delegate جدید تعریف می کنید، در حقیقت کلاس جدیدی ایجاد می شود که این کلاس، از کلاس MultiCastDelegate مشتق شده است. این موضوع باعث می […]
شهریور ۱۸, ۱۳۹۷
آموزش موازی سازی در سی شارپ

برنامه نویسی Asynchronous – آشنایی با Process ها، Thread ها و AppDomain ها

در طول یکسری مطالب آموزشی قصد داریم تا مبحث برنامه نویسی Asynchronous و Thread ها در زبان سی شارپ آشنا شویم. فرض کنید برنامه ای نوشتید که قرار است اطلاعات ۵۰۰ هزار نفر را پردازش و یک گزارش تولید کند. در صورتی که به صورت عادی اقدام به پیاده سازی […]
شهریور ۱۷, ۱۳۹۷
آموزش موازی سازی در سی شارپ

آشنایی با فضای نام System.Threading و کلاس Thread

کار با Thread ها در زبان سی شارپ – آشنایی با فضای نام System.Threading و کلاس Thread تا اینجا متوجه شدیم که چگونه می توان با کمک Delegate ها کدها را در یک Thread جداگانه و به صورت Asynchrnonous اجرا کرد. در ادامه مباحث مرتبط با برنامه نویسی Asynchronous به سراغ […]
شهریور ۱۰, ۱۳۹۷
#C چیست

آشنایی با #C – قسمت سوم

اشکالات پلتفرم منبع چارچوب دات‌نت مایکروسافت برای اجرا فقط ویندوز است. پیاده‌سازی‌های دیگری برای اجرای برنامه‌های #C در ویندوز، لینوکس،BSD یا Mac OS X وجود دارند اما هنوز کامل نیستند: Mono و DotGNU در نوامبر سال ۲۰۰۲ توسط مایکروسافت (نسخه ۱٫۰) برای پیاده‌سازی CLI برای کار در Free BSD و Mac OS X ۱۰٫۲ ارائه شد، اما نسخه‌های بعدی آن‌ها فقط […]
شهریور ۷, ۱۳۹۷
#C چیست

آشنایی با #C – قسمت دوم

ویژگی‌های جدید در سی شارپ  ۳٫۰ این ورژن از سی شارپ در تاریخ ۱۹ نوامبر سال ۲۰۰۷ به عنوان بخشی از چارچوب دات‌نت ۳٫۵ عرضه شد؛ که شامل ویژگی‌های جدید الهام شده از زبان‌های برنامه‌نویسی اصلی (Functional) مانند Haskell و ML، و الگوی LINQ برای CLR است. در حال حاضر توسط هیچ موسسه استانداردسازی تأیید […]
شهریور ۴, ۱۳۹۷
#C چیست

آشنایی با #C – قسمت اول

سی شارپ (به انگلیسی: #C )یک زبان برنامه نویسی همگردان، سطح بالا، شیءگرا، ساخت یافته، رویداد محور، تابعی، دستوری و جنریک است که توسط شرکت مایکروسافت در سال ۲۰۰۰ میلادی از خانوادهٔ زبان‌های چارچوب دات‌نت معرفی شد. زبان #C همچنین از خانواده زبان‌های برنامه‌نویسی سی نیز است. زبان #C، یک زبان برنامه‌نویسی چند الگویی و منظم شده مدل‌های تابعی، اَمری، عمومی، شیءگرا و جز گرا و در بستر چارچوب دات نتمی‌باشد. این […]
شهریور ۲, ۱۳۹۷
آموزش موازی سازی در سی شارپ

آموزش برنامه نویسی موازی(Parallel Programming) در سی شارپ

موازی سازی(Parallelism) چیست؟ ﺷﺮﮐﺖ ﻫﺎی ﺗﻮﻟﯿﺪ ﮐﻨﻨﺪه ﭘﺮدازﺷﮕﺮ ﺑﺮای اﻓﺰاﯾﺶ ﺳﺮﻋﺖ ﭘﺮدازﻧﺪه ﻣﺠﺒﻮر ﺑﻪ ﺑﺎﻻﺑﺮدن ﻓﺮﮐﺎﻧﺲ ﭘﺮدازﺷﮕﺮ ﺑﻮدﻧﺪ. ﯾﮏ راه اﻓﺰاﯾﺶ وﻟﺘﺎژ ﻣﺼﺮﻓﯽ ﭘﺮدازﻧﺪه ﺑﻮد ﮐﻪ دارای ﻧﻘﺎط ﺿﻌﻔﯽ ﻣﺎﻧﻨﺪ اﻓﺰاﯾﺶ دﻣﺎ و اﻓﺰاﯾﺶ ﻣﺼﺮف ﺑﺎﻃﺮی ﻧﯿﺰ ﺑﻮد. از ﻃﺮﻓﯽ ﺗﻮﻟﯿﺪ ﮐﻨﻨﺪﮔﺎن ﭘﺮدازﻧﺪه ﺑﻪ ﮐﻤﮏ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﺎن ﭘﯽ ﺑﻪ ﺑﯿﮑﺎری […]