PDA

View Full Version : چند سوال راجع به برنامه نویسی multithread



Rainmater
سه شنبه 16 اسفند 1390, 08:58 صبح
با سلام،
چند سوال راجع به برنامه نویسی multithread دارم.
فرض کنید یک کنترل لیس باکس با UI thread ایجاد شده باشه، ایا امکان این هست که یک کار وقتگیر مثلا اضافه کردن 2 هزار ایتم به لیست باکس توسط Worker thread انجام شه؟(به طوری که UI برنامه فریز نشه). یا خیر اصلا امکان دسترسی به کنترلی که توسط ترد دیگه انجام شده نیست؟
مثال های زیادی دیدم که با متد های invoke ویا begin invoke و... انجام شده ولی در عمل اون کارایی لازم رو نداره و مثلا اول کار اضافه کردن رو به همون ترد اصلی برنامه(UI thread) میفرسته.
مثلا این نوشته MSDN Magazine :
msdn.microsoft.com/en-us/magazine/cc300429.aspx (http://http://msdn.microsoft.com/en-us/magazine/cc300429.aspx)

نظرتون و راهکار های جلوگیری از فریز شدن برنامه چیه؟
اگه در این باره توضیح بدید ممنون میشم.