C# で 1 つのスレッドを作成しました。ここで、作成したスレッドを特定の時間に置きたいと思います。そして、スレッドを開始したいと思います。私の目標は、毎日午後 8 時に updateMark 関数を呼び出すことです。関数を呼び出した後、そのスレッドは次の 24 時間スリープ状態になります。そのため、翌日の午後 8 時に再び開始され、同じ作業が日常的に行われます。
**My C# code:-**
public class ThreadProcess
{
public static void Main()
{
}
public void updateMark()
{
string temp=ok("hai");
}
public string ok(string temp)
{
return temp+"!!!!";
}
}
したがって、別のクラスの次のコードでスレッドを使用しています。
string targetTime = "08:05:00 PM";
string currentTime = DateTime.Now.ToString("HH:mm:ss tt");
DateTime t11 = Convert.ToDateTime(targetTime, culture);
DateTime t21 = Convert.ToDateTime(currentTime, culture);
ThreadProcess tp = new ThreadProcess();
Thread myThread = new Thread(tp.updateMark);
myThread.Start();
if (t11.TimeOfDay.Ticks > t21.TimeOfDay.Ticks)
{
TimeSpan duration = DateTime.Parse(targetTime, culture).Subtract(DateTime.Parse(currentTime, culture));
int ms = (int)duration.TotalMilliseconds;
//Thread.Sleep(ms);i want to put my thread into sleep
}
while (true)
{
myThread.start();
Thread.Sleep(86400000);//put thread in sleep mode for next 24 hours...86400000 milleseconds...
}
この問題から抜け出すために私を導いてください...