0
문제가 있습니다. 두 개의 Timer 객체를 만들었습니다. 하나는 설정 한 시간마다 메서드를 실행하고 두 번째는 그 시간을 변경합니다. 문제는 이것입니다 : 첫 번째 타이머의 간격을 두 번째에서 변경하려고하면 메서드가 변경 될 때 첫 번째 타이머를 실행하고 싶지 않습니다.다른 타이머에서 시간 초과 스레드 간격을 변경하는 방법은 무엇입니까?
다음 코드가 있습니다. 누군가 올바른 방향으로 나를 가리킬 수 있습니까?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
public void someFun1(Object obj)
{
Console.WriteLine("Start1 " + DateTime.Now);
}
public void changeTime1(Object obj)
{
someTime1.Change(0, 2000);
}
public static TimerCallback somedel1;
public static Timer someTime1;
public static TimerCallback changeTimedel1;
public static Timer changerTimer1;
static void Main(string[] args)
{
Program pr = new Program();
somedel1 = new TimerCallback(pr.someFun1);
someTime1 = new Timer(somedel1, null, Timeout.Infinite, 10000);
changeTimedel1 = new TimerCallback(pr.changeTime1);
changerTimer1 = new Timer(changeTimedel1, null, 0, 10);
Console.ReadLine();
}
}
}
을하지만이 작동하지 않습니다 ( – user3458708
을 좋아, 당신은 타이머의 현재 상태를 저장해야 할 내 게시물을 편집 한 – Alex