PDA

View Full Version : multi theread ?



mohamad6
دوشنبه 20 مرداد 1382, 10:04 صبح
با سلام
از دوستانی که با multi threar ، dbisam ، midas کار کرده‌اند لطفا یه توضیحی درباره اون بدند . خواهشاً به سایتهای دیگه پاسگاری نکنید.

Mohammad_Mnt
دوشنبه 20 مرداد 1382, 18:09 عصر
اینا که می گی ، با یه صفحه دو صفحه نمی شه توضیح داد . هر کدومش حداقل یه فصل کتاب رو می خواد تا کامل متوجه شی . من پیشنهاد می کنم کتاب " دلفی 6 : راهنمای توسعه گر " از انتشارات غزال رو بخونی !
www.gzle.com

esf
پنج شنبه 23 مرداد 1382, 12:19 عصر
منم با این کتاب موافقم ... این مباحث را خیلی پیشرفته توضیح داده ... البته 6-7 تومن هم قیمتشه که به نظر من می ارزه ....

Salar Khalilzadeh
شنبه 25 مرداد 1382, 19:09 عصر
فقط در مورد MultiThread توضیح میدم.

MultiThread در حقیقت این امکان رو به ما میده که , برنامه ما در آن واحد دو دستور العمل را انجام بدهد. در حالت عادی برنامه دارای یک Thread است و در یک زمان فقط یک دستور اجرا می شود.
از MultiThread در جاهای مختلفی استفاده می شود. مثلا در بازی ها در برنامه های سه بعدی حتی در خود برنامه دلفی و...

یکی از ساده ترین کاربردهای آن استفاده به صورت زمان سنج (Timer) است. مزیت این زمان سنج به زمان سنج استاندارد دلفی این است که دستورات زیاد در ان باعث تو قف طولانی مدت برنامه نمی شود.

من کد این زمان سنج را برای در بهتر در اینجا می آورم:


TTimerThread=class(tThread)
Private
fInterval:Cardinal;
fOnExecute:TNotifyEvent;
fEnabled: Boolean;
Protected
Procedure Execute;override;
Public
constructor Create(CreateSuspended: Boolean);
destructor Destroy; override;
Published
Property Intervals:Cardinal Read fInterVal Write fInterval;
Property OnExecute:TNotifyEvent Read fOnExecute Write fOnExecute;
Property Enabled :Boolean Read fEnabled Write fEnabled;
end;

implementation

{ TTimerTread }

constructor TTimerThread.Create(CreateSuspended: Boolean);
begin
inherited;
fEnabled:=true;
end;

destructor TTimerThread.Destroy;
begin

inherited;
end;

procedure TTimerThread.Execute;
begin
inherited;
While (not Terminated) do begin
If (fInterval=0)or(fEnabled=false) then continue;
If assigned(fOnExecute) then
fOnExecute(self);
sleep(fInterval);
end;
end;

موفق باشی. :lol:

houshmand
شنبه 25 مرداد 1382, 19:55 عصر
.......

قربان دستت شما که این قدر زحمت می کشید لطف کنید آن را بین دو تا
[code ]
[/code ]
قرار بده تا بهتر بفهمیم چی نوشتی؟
mr30

Mashatan
شنبه 25 مرداد 1382, 20:21 عصر
قربان دستت شما که این قدر زحمت می کشید لطف کنید آن را بین دو تا
[code ]
[/code ]
قرار بده تا بهتر بفهمیم چی نوشتی؟

تذکر به جای بود و اصلاحش کردم امیدوارم از این به بعد بیشتر رعایت بشه
و اگر رعایت هم نشه مهم نیست ما برای گرت گیری هستیم :wink:

ارادتمند مشاطان