разные ID, хотя поток всего один. В чем дело?
List<System.Threading.Timer> timers = new List<System.Threading.Timer>();
...
timers.Add(new System.Threading.Timer(calculateTimer, new Tuple<int, Label>(0, label6),
TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1)));
...
void calculateTimer(object obj) {
var id = Thread.CurrentThread.ManagedThreadId;
MessageBox.Show(id.ToString());
var tuple = obj as Tuple < int,
Label > ;
int index = tuple.Item1;
Label label = tuple.Item2;
if (totalSeconds > 0) {
setText(label);
}
else {
timers[index].Dispose();
}
}
в студии при отладке можно не просто стек вызывов посмотреть, а стеки в потоках. может покажет то что там получается
Обсуждают сегодня