|
Подскажите с синхронизацией потоков.
|
|||
---|---|---|---|
#18+
Есть экземпляр класса в котором объявлена куча разных таймеров. Этот экземпляр 24 раза в секунду обрабатывается потоком в котором любой из таймеров может быть удален. И случается что таймер удаляется посреди выполнения. И следующий код выдает эксепшен на строке UsersListTimer.Enabled = false; что UsersListTimer==null Код: c# 1. 2. 3. 4. 5. 6. 7.
Никак не могу понять какой механизм синхронизации потоков использовать чтобы избежать ошибок? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2013, 14:11 |
|
Подскажите с синхронизацией потоков.
|
|||
---|---|---|---|
#18+
Dragon rideRНикак не могу понять какой механизм синхронизации потоков использовать чтобы избежать ошибок? Работай с таймерами только в главном потоке, который крутит цикл обработки сообщений. Остальные потоки пусть посылают главному сообщения с просьбой таймер удалить. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2013, 14:41 |
|
Подскажите с синхронизацией потоков.
|
|||
---|---|---|---|
#18+
Как я понял таймер вызывается в том потоке в котором его создали? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2013, 14:58 |
|
Подскажите с синхронизацией потоков.
|
|||
---|---|---|---|
#18+
Dragon rideRКак я понял таймер вызывается в том потоке в котором его создали? Так мы-то откуда знаем, как там у вас в C# все работает? У нас в С++ вообще нет никаких таймеров ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2013, 15:04 |
|
Подскажите с синхронизацией потоков.
|
|||
---|---|---|---|
#18+
Dragon rideRКак я понял таймер вызывается в том потоке в котором его создали? Из чего ты это высосал? Posted via ActualForum NNTP Server 1.5 Модератор: Тема перенесена из форума "C++". ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2013, 15:46 |
|
Подскажите с синхронизацией потоков.
|
|||
---|---|---|---|
#18+
предположение ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2013, 15:58 |
|
Подскажите с синхронизацией потоков.
|
|||
---|---|---|---|
#18+
Dragon rideRЕсть экземпляр класса в котором объявлена куча разных таймеров. Этот экземпляр 24 раза в секунду обрабатывается потоком в котором любой из таймеров может быть удален. И случается что таймер удаляется посреди выполнения. И следующий код выдает эксепшен на строке UsersListTimer.Enabled = false; что UsersListTimer==null Код: c# 1. 2. 3. 4. 5. 6. 7.
Никак не могу понять какой механизм синхронизации потоков использовать чтобы избежать ошибок? Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2013, 16:06 |
|
|
start [/forum/topic.php?fid=20&fpage=179&tid=1405285]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 326ms |
total: | 443ms |
0 / 0 |