в многопоточных компонентах Indy есть нумерация потоков?

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

в многопоточных компонентах Indy есть нумерация потоков?

Сообщение jsa » 03.11.2021 10:53:51

В многопоточных компонентах Indy есть нумерация потоков?

Вот так я могу получить кол-во потоков в момент времени
Form1.IdHTTPServer1.Contexts.Count

Попробовал найти в текущем потоке хоть какой-то намек на Номер или иной идентификатор, т.к. не смог нагуглить, то наугад взял
AContext.Connection.IOHandler.Port ;
AContext.Connection.Tag ;
AContext.Connection.DesignInfo;

В обработке
Form1.IdHTTPServer1CommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);

Всё не то, все =0
Или какой-то из них подходит, просто нумерация с 0 начинается.
сэмулировать несколько одновременных запросов, не получается, чтобы понять изменится ли какое-то из значений.

Мне нужна какая-то зацепка, какой-то идентификатор, чтобы выводить в лог.
Имеется такой?
jsa
постоялец
 
Сообщения: 265
Зарегистрирован: 28.11.2017 13:46:04

Re: в многопоточных компонентах Indy есть нумерация потоков?

Сообщение DedFrend » 04.11.2021 10:01:54

А почему вы думаете, что Indy использует многопоточность? Я ее иногда пользовал, но многопоточности не замечал.
DedFrend
постоялец
 
Сообщения: 156
Зарегистрирован: 25.11.2018 12:21:50

Re: в многопоточных компонентах Indy есть нумерация потоков?

Сообщение runewalsh » 04.11.2021 12:52:00

Если просто для лога (а не, например, явно выполнить работу в N потоков и иметь в каждом точный индекс от 0 до N−1), то используй System.GetThreadID.
Аватара пользователя
runewalsh
энтузиаст
 
Сообщения: 578
Зарегистрирован: 27.04.2010 00:15:25

Re: в многопоточных компонентах Indy есть нумерация потоков?

Сообщение jsa » 08.11.2021 15:10:50

DedFrend писал(а):А почему вы думаете, что Indy использует многопоточность? Я ее иногда пользовал, но многопоточности не замечал.

У вас есть инструмент которым можно нагрузить запросами сервер на основе Indy компонент, чтобы заметить потоки?
Или как именно вы пытались заметить многопоточность?
Конкретно меня интересующий компонент IdHTTPServer многопоточный.

Добавлено спустя 12 минут 18 секунд:
runewalsh писал(а):... то используй System.GetThreadID.


Спс. получается это номер потока во всей системе, годится чтобы связывать между собой в логах отметки одного и того же потока.
Это хорошо.
А собственную нумерацию Indy не ведет?
jsa
постоялец
 
Сообщения: 265
Зарегистрирован: 28.11.2017 13:46:04


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

Рейтинг@Mail.ru