سلام
من با تردینگ میخوام بگم فلان تابع مثلا 4 ثانیه اجرا بشه.
چطور میتونم این کار کنم؟ آرگومانی چیزی ندیدم تو تابع هاش.
سلام
من با تردینگ میخوام بگم فلان تابع مثلا 4 ثانیه اجرا بشه.
چطور میتونم این کار کنم؟ آرگومانی چیزی ندیدم تو تابع هاش.
من میخوام یک تایع 10 ثانیه اجرا بشه و بره و تمام
همین
هر جا سخن از زمان است نام timer می درخشد ، از نظر بنده استفاده از timer کاربرد بیشتری داره. تابع رو از داخل timer اجرا کن.
داشم تو سوالت بی معنی تابع یه چیزه که یا یه کاری انجتم میده یا یه خروجی داره ولی اگه می خوای یه کار 4 سانیه اجرا بشه باید یه حلقه همراه با thread.sleep()استفاده کنی
بيا اين كارو بكن
تابع رو با thread اجرا كن بعد يك تايمر رو فعال كن مثلا رو 4 ثانيه تايمر كه اجرا شد thread.abort رو اجرا كن
بوسیله ترد: اول زمان خاتمه را محاسبه کنید و تا زمانی که زمان حال حاضر کوچکتر از زمان انقضا هست کاری رو انجام بدید:
private void button1_Click(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(MyMethode));
t.IsBackground = true;
t.Start();
}
private void MyMethode()
{
DateTime expirationTime = DateTime.Now.AddSeconds(4);
while (DateTime.Now < expirationTime)
{
// do somthings
}
}
من به یک همچنن چیزی نیاز دارم.
For 4 sec
{
T.Start()
next
T.Abort
}
سلام
اينو ببينWindowsFormsApplication17.zip
abort برای چی؟ بعد از 4 ثانیه حلقه و در نتیجه ترد به کارش خاتمه میده.
با تایمر هم میتونید انجام بدید. در رویداد تیک تایمر کارهاتون رو انجام بدید و بعد تایمر رو استاپ و از بین ببرید:
System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer();
timer.Interval = 4000;
timer.Tick += (object obj, EventArgs ea) =>
{
timer.Dispose();
// do somthing Here
};
timer.Start();
آخرین ویرایش به وسیله Mahmoud.Afrad : پنج شنبه 24 اسفند 1391 در 04:15 صبح
ConsoleApplication3.zip
---------------------------------------------------------------------------------