PDA

View Full Version : سوال: راهنمای در خصوص Multithreading



sajioo
یک شنبه 19 آبان 1392, 07:36 صبح
سلام دوستان
بنده یک timer دارم با زمان اجرای 1.
چند تا حلقه ی تکرار در اون هست . نکته اینجاست که وقتی برنامه رو اجرا می کنم درسته زمان اجرای timer ما برابر 1 است ولی خیلی کند کند اجرا می شه.
جستجو کردم گویا اشکال از حلقه هاست . یعنی حلقه ها باعث اجرای کند این تایمر میشن.
جستجوی بیشتر کردم دیدم میشه با Multithreading اینو حلش کرد.
اگر راه دیگه کسی به ذهن داره یا همین Multithreading رو بلده لطفا به من کمک بکنه
تشکر

sajioo
یک شنبه 19 آبان 1392, 08:25 صبح
دوستان اگه کسی کامپوننت خاصی در این مورد داره نیز بسیار ممنون میشم معرفی کنه

hadisalahi2
یک شنبه 19 آبان 1392, 09:44 صبح
مولتی تردین روش خوبیه البته اگه بتونی ازش استفاده کنی
من خودم بارها سعی کردم در برنامه هام از ترد استفاده کنم ، ولی اینقدر سخت و بد طراحی شده که کلا بی خیال میشدم
چندین بار هم از ترد استفده کردم و اصلا هیچ تفاوتی در سرعت اجرا نداشت
بلکه کند تر از زمانی میشد که از تایمر استفاده میکردم

بهروز عباسی
یک شنبه 19 آبان 1392, 11:30 صبح
درود
اگه با ترد ها (درحالت کلی و پایه ای) آشنا نیستید توسیه می کنم فیلمی که در قسمت "سری کنفرانسهای رایگان دلفی (به زبان فارسی) (http://barnamenevis.org/showthread.php?327108-%D8%B3%D8%B1%DB%8C-%DA%A9%D9%86%D9%81%D8%B1%D8%A7%D9%86%D8%B3%D9%87%D 8%A7%DB%8C-%D8%B1%D8%A7%DB%8C%DA%AF%D8%A7%D9%86-%D8%AF%D9%84%D9%81%DB%8C-(%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C))" قرار دادم رو مشاهده کنید.
ولی اگر با ترد ها آشنا هستید و در استفاده صحیح از آن ها مشکل دارید کتاب های زیر رو مطالعه کنید:

Delphi XE2 foundations فکر کنم پارت سومش بود خیلی خوب در مورد ترد ها در دلفی توضیح داده.
Windows system programming هم خیلی خوبه.



دوستان اگه کسی کامپوننت خاصی در این مورد داره نیز بسیار ممنون میشم معرفی کنه

همین TThread دلفی خوبه البته اگه بتونی اصولی استفاده کنی
ولی بهترینش OTL یا Omni Thread Library (http://otl.17slon.com/) اه (که کتاب خوبی هم داره ،خودش رایگانه ولی کتابشو باید بخری:چشمک:)

روز خوش

بهروز عباسی
یک شنبه 19 آبان 1392, 11:37 صبح
من خودم بارها سعی کردم در برنامه هام از ترد استفاده کنم ، ولی اینقدر سخت و بد طراحی شده که کلا بی خیال میشدم

ترد ها بد طراحی شدن ؟
جسارتاً اگه روش درست استفاده از تردها رو بلد باشیم کمتر به چنین مشکلاتی برخورد می کنیم.:چشمک:


چندین بار هم از ترد استفده کردم و اصلا هیچ تفاوتی در سرعت اجرا نداشت
به این نکته توجه داشته باشد که Thread ها صرفاً به خاطر ترد بودن ؛باعث افزایش سرعت نمیشن ! اتفاقاً برعکس ممکنه به شدت موجب افت کارایی و کاهش سرعت بشن (توی اون فیلم در این مورد مختصری توضیح دادم)،
همه چی بستگی به نحوه استفاده داره.