Programming languages
135 subscribers
202 photos
36 videos
49 files
249 links
A channel about all kind of programming languages, and their architectures and concepts.
Download Telegram
Forwarded from C# Programming Guide
در برنامه های مالتی ترد دسترسی به مقادر متغیر ها برای خواندن و نوشتن از حساسیت ویژه ای برخوردار هست، شما فرض کنید دو ترد یا دو core از سی پی یو میخوان مقدار یک متغیر رو بخونن یا توش write کنن، چه اتفاقی میوفته؟ مسلما اگر همزمان اتفاق بیوفته یکی از ترد ها ناتوان هست در اینکه بخواد مقدار رو write کنه.
در واقع استفاده از دستور lock در برنامه های مالتی ترد این امکان رو برای برنامه نویس فراهم میکنه تا به برنامه اجازه نده ترد ها به صورت همزمان از یک متغیر بخونن یا توی اون مقدار بریزن.در این صورت شما میتونید از کلید واژه ی volatile استفاده کنید تا این اتفاق نیوفته.توی کد بالا در حالت ریلیز وقتی شما کلاس رو Dispose کنید مقدار _IsDispose برابر با True نمیشه چون حلقه ی while همیشه در حال خوندن مقدار متغیر _isDispose هست و همزمانی پیش میاد، یعنی برنامه ی شما نمیتونه توی متغیر چیزی بریزه در نتیجه برنامه هرگز به پایان نمیرسه و این باعث بوجود اومدن یک باگ بزرگ توی اپ شما میشه.
پس در نظر داشته باشید توی برنامه های مالتی ترد متغیر هاتون رو volatile تعریف کنید یا از کلید واژه ی lock هم میتونید استفاده کنید.
برای متغیر های long و double و ... نمیتونید از کلید واژه ی volatile استفاده کنید در نتیجه میتونید از Thread.VolatileRead یا Thread.VolatileWrite برای خواندن و نوشتن توی متغیر استفاده کنید.
Forwarded from برنامه نویسی حرفه ای
مدیریت خطاها در سی شارپ

در این بخش از Umbrella Series – CSharp نحوه برخورد با خطاها در سی شارپ را بیان خواهیم کرد. سرفصل مطالب بیان شده به شرح زیر است:

مدیریت خطاها در سی شارپ
بخش های مختلف بلاک try … catch
نکاتی که درباره انواع خطا باید بدانید
چگونگی تشخیص خطا توسط سی شارپ
try … catch تو در تو
کلمه کلیدی throw
انواع خطا
تولید خطای سفارشی
👇 👇 👇 👇
Forwarded from برنامه نویسی حرفه ای
Umbrella-CSharp-www.baiat.ir-Erros-and-Exceptions.pdf
1 MB
Forwarded from برنامه نویسی حرفه ای
جنریک در سی شارپ

در این قسمت از Umbrella Series – CSharp مفاهیم Generic در سی شارپ بررسی خواهد شد. سرفصل مطالب بیان شده به صورت زیر است:

مفهوم Generics
ویژگی ها و مزایای Generics
محدودکننده های پارامتر نوع
اینترفیس‌های مربوط به کار با مجموعه‌ها
ICollection
IEnumerable
IList
نماینده‌های Generic
yield return
👇👇👇👇👇
Forwarded from برنامه نویسی حرفه ای
Umbrella-CSharp-www.baiat.ir-Generics.pdf
1.1 MB
Forwarded from BPM Talk
هر هفته سه شنبه ساعت 22 الی 23 گفتگوی مدیریت فرآیند کسب و کار با ارائه اساتید، مشاوران و متخصصین برتر ایران
عضویت در گروه:
https://t.iss.one/joinchat/BR1jKj516fwuZSl7Kae4FA
کانال:
@bpmtalk
Forwarded from BPM - BPMS - BPMN
کارگاه آموزشی مدلسازی فرآیندهای سازمان با استفاده از BPMN2
10 تا 12 آبان 96
کالج دانشگاه فردوسی
گواهینامه مورد تأیید وزارت علوم، تحقیقات و فنآوری
www.college.um.ac.ir @bpm_talk
Forwarded from BPM - BPMS - BPMN
لینک مستقیم ثبت نام دوره آموزشی مدلسازی BPMN2 در سایت کالج دانشگاه فردوسی:
https://pooya.um.ac.ir/educ/exam/index.php?Lan=Fa&Gr=9
امکان ثبت نام از طریق واریز وجه به حساب کالج دانشگاه نیز وجود دارد شماره حساب کالج در پوستر آمده است.
Forwarded from BPM Talk
#آغاز
نقشه راه استقرار مدیریت فرآیندهای کسب و کار
تاریخ ارائه: 9/8/1396
برنامه ششم
از سری برنامه های مدیریت فرآیندهای کسب و کار یا
BPMTalk
ارائه دهنده: مهندس احمد دلیری
@bpmtalk
Forwarded from BPM Talk
This media is not supported in your browser
VIEW IN TELEGRAM
نقشه راه استقرار مدیریت فرآیندهای کسب و کار
قسمت اول
ارائه دهنده: مهندس احمد دلیری
—----------------
We Talk about BPM,BPR, BPMS, BPMN, BPMM
www.bpmtalk.ir
@bpmtalk
Forwarded from BPM Talk
This media is not supported in your browser
VIEW IN TELEGRAM
نقشه راه استقرار مدیریت فرآیندهای کسب و کار
قسمت دوم
ارائه دهنده: مهندس احمد دلیری
—----------------
We Talk about BPM,BPR, BPMS, BPMN, BPMM
www.bpmtalk.ir
@bpmtalk
Forwarded from BPM Talk
This media is not supported in your browser
VIEW IN TELEGRAM
نقشه راه استقرار مدیریت فرآیندهای کسب و کار
قسمت سوم
ارائه دهنده: مهندس احمد دلیری
—----------------
We Talk about BPM,BPR, BPMS, BPMN, BPMM
www.bpmtalk.ir
@bpmtalk
Forwarded from BPM Talk
This media is not supported in your browser
VIEW IN TELEGRAM
نقشه راه استقرار مدیریت فرآیندهای کسب و کار
قسمت چهارم
ارائه دهنده: مهندس احمد دلیری
—----------------
We Talk about BPM,BPR, BPMS, BPMN, BPMM
www.bpmtalk.ir
@bpmtalk
#کانون_همایش_سوم
#مسابقه_استارت_آپها
کانون فناوری اطلاعات، پس از ارسال مستندات مورد نیاز،از طریق کمیته داوران، استارت آپهای برتر استان را شناسایی و در همایش سوم خود، معرفی و تقدیر می نماید: qita.ir
This media is not supported in your browser
VIEW IN TELEGRAM
#کانون_همایش_سوم
#مسابقه_استارت_آپها
توضیحات مهندس منصورنژاد در خصوص مسابقه استارت آپهای استان قم. جهت کسب اطلاعات بیشتر به وب سایت کانون www.qita.ir مراجعه فرمائید. آخرین مهلت ارسال مستندات 25 آبان
Forwarded from C# Programming Guide
موضوع: برنامه نویسی مالتی تردینگ - Multi Treading
1.کلید واژه های async و await چیست؟
2.کلاس هایDispatcher و SynchronizationContext چیست؟
Forwarded from C# Programming Guide
چون توضیحات و مسائلی که اینجا ارائه میکنم ترجمه شده و کپی شده نیست سعی میکنم تعریف های خودمونی تری ارائه کنم تا برای کسانی که یکم کار کردن هم قابل فهم باشه و فکر نکنن دارن کتاب اموزشی مطالعه میکنن که برن ده جای دیگه پرس و جو کنن تا مطلب رو متوجه بشن. هر کجا نا مفهومه یا نیاز به توضیح بیشتره به ادمین بگید تا براتون بیشتر توضیح بدم یا بازش کنم مطلب رو.
Forwarded from C# Programming Guide
اگر به ترجمه ی thread نگاه کنیم میبینیم که به معنی نخ یا رشته هست.ترد ها رو رشته هایی در نظر بگیرید که به یک نرم افزار متصل هستند و وظیفه ی انجام عملیات های خاصی رو دارن ترد ها به هم مربوط نمیشن مگر اینکه شما خودتون ارتباطی بینشون ایجاد کنید (پلی بزنید برای خوندن مقادیر یا ریختن مقادیر در حافظه).
نرم افزار هایی که مینویسید به طور پیشفرض وقتی اجرا میشن یک ترد بیشتر ندارن تا اینکه شما بهش ترد های مختلفی اضافه کنید.ترد ها وظیفه ی اجرای عملیات رو توی خودشون دارن و یک ترد قادر نیست دو عملیات رو با هم انجام بده. در واقع وقتی یک ترد busy و مشغول اجرای یک سری عملیات هست نمیتونید بهش بگید این عملیات رو هم برام انجام بده مگر اینکه کارش تموم بشه و یا اجرای عملیات رو به ترد دیگه ای بسپاره.برای همین هست که شما وقتی توی نرم افزار یک حلقه ی بی نهایت میذارید نرم افزار هنگ میکنه و Not Responding میشه.در واقع ترد UI نرم افزار مشغول میشه.
از نظر منطقی فکر کنید: آیا میتونید دو تا تابع رو توی متد Main همزمان اجرا کنید؟ دقیقا نمیشه چون خط های برنامه و نرم افزار شما باید پشت سر هم و خط به خط اجرا بشن.این کار رو ترد اصلی نرم افزار که موقع اجرای نرم افزار ساخته میشه به عهده داره.این از مبحث ترد ها حالا باید ببینیم چطوری میشه ترد های مختلفی ایجاد کرد یا کلید واژه ها و کلاس های بالا کاربردشون چیه؟