Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как создать таймер в C#? Visual Studio 2022

BarKode Ученик (66), на голосовании 4 месяца назад
Короче, мне надо чтоб один скрипт начал выполняться по определённого времени. Как это написать в скрипте? И надо ли создавать отдельный скрипт для этого?
Голосование за лучший ответ
Jurijus Zaksas Искусственный Интеллект (453933) 5 месяцев назад
В твоем случае нужен не таймер, нужна задержка потока. Запускай свой "один скрипт" в отдельном потоке и установи в нем ("одном скрипте", а не потоке) задержку. Учитывай, что потоку, не являющемуся главным, запрещена интеракция с экранными компонентами, если вдруг это необходимо - используй передачу управления главному потоку через Invoke. Удачи.

 static void ОдинСкрипт() 
{
Console.WriteLine("Starting the delayed thread, delaying");
Thread.Sleep(2000);
Console.WriteLine("The delayed thread is done waiting");
//Do something here
Console.WriteLine("The delayed thread is done working");
}


static void Main(string[] args)
{
Console.WriteLine("Starting main thread");
Thread t = new Thread(ОдинСкрипт);
t.Start();
Console.WriteLine("The main thread is working");
Thread.Sleep(4000); //Work simulation
Console.WriteLine("The main thread finished working, exiting");
}
BarKodeУченик (66) 5 месяцев назад
после этого потока очень сильно лагает, есть способ оптимизации и что-то другое?
(Написал всё как у тебя и нет ошибок,
но после этого жеско лагает)
Похожие вопросы