Forwarded from کانون فناوری اطلاعات استان قم
This media is not supported in your browser
VIEW IN TELEGRAM
#کانون_همایش_سوم
#مسابقه_استارت_آپها
توضیحات مهندس منصورنژاد در خصوص مسابقه استارت آپهای استان قم. جهت کسب اطلاعات بیشتر به وب سایت کانون www.qita.ir مراجعه فرمائید. آخرین مهلت ارسال مستندات 25 آبان
#مسابقه_استارت_آپها
توضیحات مهندس منصورنژاد در خصوص مسابقه استارت آپهای استان قم. جهت کسب اطلاعات بیشتر به وب سایت کانون www.qita.ir مراجعه فرمائید. آخرین مهلت ارسال مستندات 25 آبان
Forwarded from C# Programming Guide
موضوع: برنامه نویسی مالتی تردینگ - Multi Treading
1.کلید واژه های async و await چیست؟
2.کلاس هایDispatcher و SynchronizationContext چیست؟
1.کلید واژه های async و await چیست؟
2.کلاس هایDispatcher و SynchronizationContext چیست؟
Forwarded from C# Programming Guide
چون توضیحات و مسائلی که اینجا ارائه میکنم ترجمه شده و کپی شده نیست سعی میکنم تعریف های خودمونی تری ارائه کنم تا برای کسانی که یکم کار کردن هم قابل فهم باشه و فکر نکنن دارن کتاب اموزشی مطالعه میکنن که برن ده جای دیگه پرس و جو کنن تا مطلب رو متوجه بشن. هر کجا نا مفهومه یا نیاز به توضیح بیشتره به ادمین بگید تا براتون بیشتر توضیح بدم یا بازش کنم مطلب رو.
Forwarded from C# Programming Guide
اگر به ترجمه ی thread نگاه کنیم میبینیم که به معنی نخ یا رشته هست.ترد ها رو رشته هایی در نظر بگیرید که به یک نرم افزار متصل هستند و وظیفه ی انجام عملیات های خاصی رو دارن ترد ها به هم مربوط نمیشن مگر اینکه شما خودتون ارتباطی بینشون ایجاد کنید (پلی بزنید برای خوندن مقادیر یا ریختن مقادیر در حافظه).
نرم افزار هایی که مینویسید به طور پیشفرض وقتی اجرا میشن یک ترد بیشتر ندارن تا اینکه شما بهش ترد های مختلفی اضافه کنید.ترد ها وظیفه ی اجرای عملیات رو توی خودشون دارن و یک ترد قادر نیست دو عملیات رو با هم انجام بده. در واقع وقتی یک ترد busy و مشغول اجرای یک سری عملیات هست نمیتونید بهش بگید این عملیات رو هم برام انجام بده مگر اینکه کارش تموم بشه و یا اجرای عملیات رو به ترد دیگه ای بسپاره.برای همین هست که شما وقتی توی نرم افزار یک حلقه ی بی نهایت میذارید نرم افزار هنگ میکنه و Not Responding میشه.در واقع ترد UI نرم افزار مشغول میشه.
از نظر منطقی فکر کنید: آیا میتونید دو تا تابع رو توی متد Main همزمان اجرا کنید؟ دقیقا نمیشه چون خط های برنامه و نرم افزار شما باید پشت سر هم و خط به خط اجرا بشن.این کار رو ترد اصلی نرم افزار که موقع اجرای نرم افزار ساخته میشه به عهده داره.این از مبحث ترد ها حالا باید ببینیم چطوری میشه ترد های مختلفی ایجاد کرد یا کلید واژه ها و کلاس های بالا کاربردشون چیه؟
نرم افزار هایی که مینویسید به طور پیشفرض وقتی اجرا میشن یک ترد بیشتر ندارن تا اینکه شما بهش ترد های مختلفی اضافه کنید.ترد ها وظیفه ی اجرای عملیات رو توی خودشون دارن و یک ترد قادر نیست دو عملیات رو با هم انجام بده. در واقع وقتی یک ترد busy و مشغول اجرای یک سری عملیات هست نمیتونید بهش بگید این عملیات رو هم برام انجام بده مگر اینکه کارش تموم بشه و یا اجرای عملیات رو به ترد دیگه ای بسپاره.برای همین هست که شما وقتی توی نرم افزار یک حلقه ی بی نهایت میذارید نرم افزار هنگ میکنه و Not Responding میشه.در واقع ترد UI نرم افزار مشغول میشه.
از نظر منطقی فکر کنید: آیا میتونید دو تا تابع رو توی متد Main همزمان اجرا کنید؟ دقیقا نمیشه چون خط های برنامه و نرم افزار شما باید پشت سر هم و خط به خط اجرا بشن.این کار رو ترد اصلی نرم افزار که موقع اجرای نرم افزار ساخته میشه به عهده داره.این از مبحث ترد ها حالا باید ببینیم چطوری میشه ترد های مختلفی ایجاد کرد یا کلید واژه ها و کلاس های بالا کاربردشون چیه؟
Forwarded from C# Programming Guide
مبحث تردینگ در سایت مایکروسافت و اموزش ایجاد انواع ترد را در لینک زیر مطالعه کنید:
https://msdn.microsoft.com/en-us/library/aa645740(v=vs.71).aspx
https://msdn.microsoft.com/en-us/library/aa645740(v=vs.71).aspx
Forwarded from C# Programming Guide
یه مثال ساده هم میزنم که سریع ازش رد شیم توی مثال بالا متد Dowork توی یک نخ دیگه اجرا میشه و شما میتونید ببینید که قبل اینکه Dowork Started یا Dowork Finished اجرا بشه Write Text زودتر چاپ میشه و ترد اصلی شما منتظر نمیمونه تا تردی که ساختید کارش تموم بشه.
اگر میخواید منتظر بمونه بعد از خط thread.Start(); خط زیر رو اضافه کنید و میبینید که ترد اصلی شما جوین میشه به تردی که ساختید و منتظر میمونه تا اون کارش تموم بشه و بره خط بعدی:
thread.Join();
اگر میخواید منتظر بمونه بعد از خط thread.Start(); خط زیر رو اضافه کنید و میبینید که ترد اصلی شما جوین میشه به تردی که ساختید و منتظر میمونه تا اون کارش تموم بشه و بره خط بعدی:
thread.Join();
Forwarded from BPM Talk
#آغاز
پیکره عمومی دانش مدیریت فرآیندهای سازمان
تاریخ ارائه: 16/8/1396
برنامه هفتم
از سری برنامه های مدیریت فرآیندهای کسب و کار یا
BPMTalk
ارائه دهنده: مهندس بهرام ناجدی
جهت عضویت در گروه از لینک زیر استفاده کنید:
https://t.iss.one/joinchat/BfG3lD516fxi3Fcr9HJwGw
—---------—
@bpmtalk
پیکره عمومی دانش مدیریت فرآیندهای سازمان
تاریخ ارائه: 16/8/1396
برنامه هفتم
از سری برنامه های مدیریت فرآیندهای کسب و کار یا
BPMTalk
ارائه دهنده: مهندس بهرام ناجدی
جهت عضویت در گروه از لینک زیر استفاده کنید:
https://t.iss.one/joinchat/BfG3lD516fxi3Fcr9HJwGw
—---------—
@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
قسمت اول
ارائه دهنده: مهندس بهرام ناجدی
—----------------
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
قسمت دوم
ارائه دهنده: مهندس بهرام ناجدی
—----------------
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
قسمت سوم
ارائه دهنده: مهندس بهرام ناجدی
—----------------
We Talk about BPM,BPR, BPMS, BPMN, BPMM
www.bpmtalk.ir
@bpmtalk
Forwarded from BPM Talk
Media is too big
VIEW IN TELEGRAM
پیکره عمومی دانش مدیریت فرآیندهای سازمان
قسمت چهارم
ارائه دهنده: مهندس بهرام ناجدی
—----------------
We Talk about BPM,BPR, BPMS, BPMN, BPMM
www.bpmtalk.ir
@bpmtalk
قسمت چهارم
ارائه دهنده: مهندس بهرام ناجدی
—----------------
We Talk about BPM,BPR, BPMS, BPMN, BPMM
www.bpmtalk.ir
@bpmtalk
Forwarded from Deleted Account
دوستان فازهای عمده چارچوب مدیریت فرآیندهای سازمان از دیدگاه انجمن ABPMP در ادامه ارائه گردیده است
Forwarded from BPM Talk
#پایان
پیکره عمومی دانش مدیریت فرآیندهای سازمان
تاریخ ارائه: 16/8/1396
از سری برنامه های مدیریت فرآیندهای کسب و کار یا
BPMTalk
ارائه دهنده: مهندس ناجدی
—----------------------------
این بحث هنوز در گروه ادامه دارد
برای عضویت در گروه از طریق وبسایت یا کانال ما اقدام نمایید:
@bpmtalk
www.bpmtalk.ir
پیکره عمومی دانش مدیریت فرآیندهای سازمان
تاریخ ارائه: 16/8/1396
از سری برنامه های مدیریت فرآیندهای کسب و کار یا
BPMTalk
ارائه دهنده: مهندس ناجدی
—----------------------------
این بحث هنوز در گروه ادامه دارد
برای عضویت در گروه از طریق وبسایت یا کانال ما اقدام نمایید:
@bpmtalk
www.bpmtalk.ir
Forwarded from C# Programming Guide
کلاس های SynchronizationContext و Dispatcher:
در نظر داشته باشید که Dispatcher توی WPF استفاده میشه.
فرض کنید شما دارید یک فایلی رو توی ترد دیگه دانلود میکنید بعدش میخواید توی رابط کاربریprogressbar رو بروز رسانی کنید.خب شما از توی ترد دیگه نمیتونید به ترد UI دسترسی داشته باشید و با خطا مواجه میشید که دسترسی شما به ترد UI مقدور نیست. با Dispatcher میتونید قطعه کدی رو توی ترد UI اجرا کنید.
در نظر داشته باشید که Dispatcher توی WPF استفاده میشه.
فرض کنید شما دارید یک فایلی رو توی ترد دیگه دانلود میکنید بعدش میخواید توی رابط کاربریprogressbar رو بروز رسانی کنید.خب شما از توی ترد دیگه نمیتونید به ترد UI دسترسی داشته باشید و با خطا مواجه میشید که دسترسی شما به ترد UI مقدور نیست. با Dispatcher میتونید قطعه کدی رو توی ترد UI اجرا کنید.
Forwarded from C# Programming Guide
کلاس Dispatcher یکی از کلاس های مخصوص WPF و از کتابخانه ی WindowsBase هست ولی SynchronizationContext عمومی هست و توی کتاب خانه ی mscorlib هست که طرز کارش رو بهتون میگم.
Forwarded from C# Programming Guide
اگر ترد اصلی UI شما مشغول باشه Dispatcher.Invoke منتظر میمونه تا مشغولیتش تموم بشه بعد تابع شمارو توی ترد UI اجرا کنه همونطور که قبلا گفتم یک ترد نمیتونه دوتا کار رو همزمان انجام بده.برای اینکه این اتفاق رو توی صف بذارید که در پس زمینه هندل بشه میتونید از Dispatcher.BeginInvoke استفاده کنید.