نوشته شده توسط
farhad_shiri_ex
جهت بر روز رسانی یک progress bar باید از طریق نخ اصلی main thread ui به این آبجکت دسترسی پیدا کنید و مقادیری که لازم دارید اعمال کنید بنابراین کافی که یک نخ کارگر ایجاد کنید و عملیاتی که لازم دارید را در این نخ انجام دهید وکافی در زمانهای مناسب در نخ کارگر جدید مقادیر درصد پیشرفت را به نخ اصلی ارسال کنید و چون فقط در نخ اصلی به آبجکتهای UI دسترسی دارید حالا مقادیر فوق را در آبجکت نمایش دهید.
در صورتی هم که نیازی به چند نخ مختلف جهت انجام عملیات خود ندارید خیلی هم نیازی به رعایت همه تکنیکهای برنامه نویسی چند نخی در جهت رخ ندادن race condition بر روی داده های مشترک ندارید
یا به صورت واضح تر
1- ایجاد یک نخ کارگر
2- استارت عملیات مورد نظرتون در نخ فوق
3- تعیین یک داده atomic حالا یا استاتیک ویا غیر استاتیک جهت درج درصد پیشرفت در زمان های مناسب در نخ کارگر
4- به روز رسانی نخ اصلی برنامه و به روز رسانی کنترل progress bar و اعمال داده اتمیک در کنترل فوق
به همین سادگی مشکلی بود اطلاع دهید