Так я начинаю нить, как это:Как сделать независимый сон Thread в C#
Thread thread = new Thread(myFunction);
thread.start();
И эта функция имеет петлю, которая должна выполняться один раз в секунду:
public void myFunction(){
while(true){
sleep?
}
}
Как я заставить эту нить спать, не останавливая мой основной поток?
Есть сообщения _many_ в Stack Overflow, описывающие 'Thread.Sleep()', которые объясняют, как и документация MSDN, что задерживается только поток, вызывающий этот метод. Вызов 'Thread.Sleep()' в рабочем потоке будет задерживать основной поток только в том случае, если основной поток на самом деле сам ждет в рабочем потоке по какой-то причине. Если вы попытались вызвать 'Thread.Sleep()' и обнаружили, что он блокирует поток, который вы не хотите его блокировать, вам нужно опубликовать вопрос, который включает хороший [mcve], который надежно воспроизводит это поведение. –