Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Indy SNMP многопоточность


Автор: namervasek 2.7.2012, 17:05
Использую idSNMP. В дочернем потоке постояно делаются запросы. В главном потоке необходимо иногда тоже делать запросы...
Вопрос: если так использовать idSNMP, то результаты запросов будут коректно получаться или нет?
Вопрос возник изза того что на тестовой програмке с двумя потоками вроде все нормально работает,  но если смотреть код, то никакой явной синхронизации не происходит...

Добавлено через 11 минут и 39 секунд
Забыл упамянуть каждый запрос делается из разных idSNMP созданых в главном потоке

Автор: MetalFan 2.7.2012, 18:33
namervasek, Главное В ОБЩЕМ случае не работать с одним и тем же компонентом из разных потоков... в остальном проблем быть не должно

Автор: XperT 2.7.2012, 19:42
Цитата(MetalFan @ 2.7.2012,  18:33)
namervasek, Главное В ОБЩЕМ случае не работать с одним и тем же компонентом из разных потоков... в остальном проблем быть не должно

Проще всего этого достичь созданием своего экземпляра класса в потоке, а не использовать тот, что кинут на форму

Автор: namervasek 3.7.2012, 09:19
Цитата

namervasek, Главное В ОБЩЕМ случае не работать с одним и тем же компонентом из разных потоков... в остальном проблем быть не должно


Цитата

Проще всего этого достичь созданием своего экземпляра класса в потоке, а не использовать тот, что кинут на форму


Эм.. то есть лутше экземпляр создавать в том потоке в котором с ним будет работа? или можно создавать все обьекты в главном потоке, а уже в каждом отделном потоке использоать только один из них?

В сетях я не очень силен поэтому проясните еще один момент пожалуйста: idSNMP работаеть с портом 161, то есть получается что один порт на несколько потоков. Могут ли быть иза этого проблемы?

Автор: MetalFan 3.7.2012, 12:50
Цитата(namervasek @  3.7.2012,  09:19 Найти цитируемый пост)
то есть лутше экземпляр создавать в том потоке в котором с ним будет работа?

Именно так.
Цитата(namervasek @  3.7.2012,  09:19 Найти цитируемый пост)
или можно создавать все обьекты в главном потоке, а уже в каждом отделном потоке использоать только один из них?
А так лучше не делать.


Автор: namervasek 3.7.2012, 13:47
MetalFan ясно спасибо.
А как насчет этого? smile 
Цитата

idSNMP работаеть с портом 161, то есть получается что один порт на несколько потоков. Могут ли быть иза этого проблемы?

Автор: MetalFan 3.7.2012, 14:52
namervasek, честно говоря я не совсем в курсе, что из себя представляет протокол SNMP, но, думаю, проблем быть не должно...

Автор: namervasek 3.7.2012, 15:13
ясно благодарю за помошь

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)