PDA

View Full Version : کار کردن با نخ ها در دلفي



behzadzh
دوشنبه 19 مرداد 1388, 16:28 عصر
با سلام خدمت همه دوستان
من چند تا پروژه بزرگ بانک اطلاعاتي تو دلفي کار کردم مثل نرم افزار بيمارستان-اموزشگاه و غيره که توي دلفي 7 کار شده ، شنيدم ميشه با استفاده از نخ ها برنامه ها رو بهينه کرد ، اگه امکان داره منو راهنمايي کنيد از کجا و چطوري شروع کنم؟

Hsimple11
دوشنبه 19 مرداد 1388, 17:42 عصر
Thread یا کلاس TThread رو جستجو کنید برای شروع مطالبی در سایت وجود داره. یه مقاله هم آقای Mahmood_N در بخش مقالات دارند که برای شروع خیلی خوبه.

vcldeveloper
دوشنبه 19 مرداد 1388, 23:29 عصر
شنيدم ميشه با استفاده از نخ ها برنامه ها رو بهينه کرد
این چیزی نیست که شما برنامه تون رو بنویسید، بعد یک چیزی به برنامه اضافه کنید، ناگهان برنامه چند برابر سریعتر اجرا بشه! استفاده از Threadها نیاز به این داره که شما برنامه را با ایده استفاده از Threadها طراحی کنید، و اصلا نوع تفکرتان Multi-threaded باشه، و گرنه میاد یک برنامه را Multi-threaded می کنید، نه تنها چیزی گیرتون نمیاد، بلکه با انواع و اقسام خطاها و مشکلات عجیب و غریب هم مواجه میشید، و روزی چند بار از اینکه چرا این کار را کردید، ابراز ندامت می کنید.

تا وقتی که نمی دونید Thread چی هست، چطور کار میکنه، در سیستم عامل مورد نظر شما چطور مدیریت میشه، محیط توسعه شما چه ابزارهایی برای کار با اون ارائه میکنه، چه مشکلات شناخته شده ایی در کار با Threadها وجود دارند، چه روش های شناخته شده ایی برای طراحی برنامه های Multi-threaded وجود دارند، و غیره؛ دنبال Multi-threaded کردن برنامه خودتون نرید، چون فقط عذاب خودتون و کاربر بیچاره را بیشتر می کنید.

اگر با مفاهیم مرتبط با Threadها آشنا نیستید، کتابچه Martin Harvey را در این زمینه مطالعه کنید. رایگان هست و با یک جستجو در گوگل راحت می تونید پیداش کنید. در زمینه Threadها کتاب زیاد هست، ولی این یکی خوبیش این هست که هم مفاهیم مربوطه را به طور کامل توضیح میده، هم مثال های آن با دلفی هست و برای برنامه نویسان دلفی نوشته شده، در نتیجه زحمت ترجمه کردن کدها از C به دلفی بر عهده شما نیست، و در آن از قابلیت های موجود دلفی مثل کلاس TThread استفاده شده.
قبلا هم این کتاب را پیشنهاد کردم. اگر Thread را در همین تالار جستجو می کردید، به اون تاپیک ها می رسیدید.
مطلب آقای محمود مهری چندان به کار شما نمیاد، چون توضیح یک سری متدها و خصوصیات کلاس TThread هست. کسی که نمیدونه Thread چی هست، چطور کار میکنه، و با مفاهیم آن آشنا نیست، این اطلاعات هم چندان به دردش نمیخوره. میره اینها را میخونه، فکر میکنه Thread یعنی همین کار با یک کلاس ساده، کار رو شروع میکنه، توی کار گیر میکنه!