View Full Version : تایمر برای اندازه گیری زمان اجرا
leilast
چهارشنبه 23 مهر 1393, 11:52 صبح
سلام
من چه جوری می تونم از کلاس Timer جاوا برای دو کار استفاده کنم :
1-کل زمان اجرای برنامه از ابتدا تا انتها رو باتوقف اجرای برنامه نشون بده .
2- تایمر از زمانی که دکمه Run زده می شه شروع به کار کنه و زمانی که پروژه کامل لود شد متوقف بشه و زمان رو نشون بده (زمان لود پروژه رو تا قبل از تولید خروجی معلوم کنه ).
تایمر هایی که دیدم روی پریودهای خاصی تنظیم شدن ، مثلا هر 5 ثانیه یک بار شروع به کار می کنه ، اما برای این کاربردها نمونه ای ندیدم.
مرسی
محمد فدوی
چهارشنبه 23 مهر 1393, 22:50 عصر
برای ساخت یه تایمر توی Java چندین راه وجود داره. من نام میبرمشون و یکم در موردشون توضیح میدم:
کلاس java.util.Timer: به نظر میاد پایهای ترین کلاس برای ساخت یه Timer همین کلاس باشه. توضیح زیادی در موردش لازم نیست. همهی کارایی که لازم دارید رو هم میتونه انجام بده. مثال (http://examples.javacodegeeks.com/core-java/util/timertask/java-timer-and-timertask-example-tutorial/)
کلاس javax.swing.Timer: خیلی خلاصه بگم، تقریبا معادل کلاس قبلیه فقط اگه شما توی برنامهتون رابط کاربری دارید (GUI) بهتره از این کلاس استفاده کنید. مثال (http://examples.javacodegeeks.com/desktop-java/awt/event/a-simple-timer-example/) اگه دوست دارید بدونید غیر از مسائل ظاهری دقیقا چه تفاوتی دارن این دو تا کلاس این قیاس (http://stackoverflow.com/questions/16446772/javax-swing-timer-vs-java-util-timer) رو بخونید.
در مورد مواقعی هم که نیاز به تأخیرهای زمانی، استفادههای همزمان و... وجود داره کلاسهای بستهی java.util.concurrent خیلی مفیدن که فکر نکنم به درد شما بخوره.
در مورد سؤال شما، کافیه اون مثالهایی رو که گذاشتم رو بخونید و وابسته به کارکردتون یکی از کلاسهای Timer رو انتخاب کنید. حالا اگه میخواید باش زمان رو اندازه گیری کنید میتونید اون رو با Interval یک ثانیه بسازید و بعد یه متغیر شمارنده رو توی متد اجراش مدام اضافه کنید. یا به راحتی با یه متغیر boolean میتونید کلاس Timer رو متوقف و بعدا دوباره اجرا کنید...
در ضمن اگه فقط به میزان زمانی که برنامهتون اجرا شده نیاز دارید میتونید زمان شروع برنامه رو در اول متد main بخونید و در پایان main هم دقیقاً موقع بسته شدن نرمافزار همین کار رو بکنید. حالا تفاضل این دوتا زمان میشه عمر برنامهی شما (این کار بیشتر در مورد تست و Benchmark برنامهها استفاده میشه)
leilast
پنج شنبه 24 مهر 1393, 09:41 صبح
ممنون ، خیلی مفید بودن
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.