antigrav Опубликовано 22 ноября, 2023 Поделиться Опубликовано 22 ноября, 2023 Кто-нибудь юзал такую штуку: "параллельный отладчик Parnassus"? Если да, то какое мнение? И можно ли его получить и установить не имея активной подписки на обновления? Цитата Ссылка на комментарий
0 krapotkin Опубликовано 22 ноября, 2023 Поделиться Опубликовано 22 ноября, 2023 возможно проще сделать логирование, чтобы в строке лога был указан TreadId ? Цитата Ссылка на комментарий
0 antigrav Опубликовано 23 ноября, 2023 Автор Поделиться Опубликовано 23 ноября, 2023 Вы имеете ввиду в режиме синхронизации пересылать в лог главного потока данные из дополнительного с указанием номера дополнительного потока? Цитата Ссылка на комментарий
0 krapotkin Опубликовано 23 ноября, 2023 Поделиться Опубликовано 23 ноября, 2023 (изменено) https://bitbucket.org/vkrapotkin/commonapi/src/master/UVKCommonLog.pas log.log('TrqdAttributes LoadFromFolder (' + Attributes.Count.ToString + ')'); в логе 14:15:13.463 (000013D8) TrqdAttributes LoadFromFolder (5) или 14:15:12.504 (main) Login successful. Изменено 23 ноября, 2023 пользователем krapotkin antigrav 1 Цитата Ссылка на комментарий
0 antigrav Опубликовано 23 ноября, 2023 Автор Поделиться Опубликовано 23 ноября, 2023 Это интересно. Спасибо! Цитата Ссылка на комментарий
0 OnePeople Опубликовано 1 декабря, 2023 Поделиться Опубликовано 1 декабря, 2023 В 23.11.2023 в 14:34, krapotkin сказал: https://bitbucket.org/vkrapotkin/commonapi/src/master/UVKCommonLog.pas А почему TThread.CurrentThread.ThreadID.ToString, а не TThread.CurrentThread.ClassName? Тоже с логами вожусь. Для чего именно Id? Цитата Ссылка на комментарий
0 krapotkin Опубликовано 5 декабря, 2023 Поделиться Опубликовано 5 декабря, 2023 мне особо незачем именовать их. что мне даст их ClassName? основные задачи - знать, что делают потоки и в каком порядке, для этого более важно отличать их один от другого и знать - ГП это или нет Цитата Ссылка на комментарий
0 antigrav Опубликовано 5 февраля Автор Поделиться Опубликовано 5 февраля Здравствуйте! Имею следующий фрагмент кода: fines: array of Extended; TParallel.For(0, Pred(count), procedure(index: Integer) begin fines[index] := CalculateFine(Index); TThread.Synchronize(nil, procedure begin Memo.Lines.Add('ThreadID = ' + TThread.CurrentThread.ThreadID.ToString); end); end); В логе получаю один и тот же номер ThreadID для всех значений index. Разве не должны быть созданы count потоков, каждый со своим ID? Цитата Ссылка на комментарий
0 krapotkin Опубликовано 5 февраля Поделиться Опубликовано 5 февраля а вы понимаете в котором потоке выполняется Synchronize() ? попробуйте сначала получить ThreadId, а уже потом переходить в ГП и выводить это значение на экран antigrav 1 Цитата Ссылка на комментарий
0 antigrav Опубликовано 5 февраля Автор Поделиться Опубликовано 5 февраля Да, после выноса TThread.CurrentThread.ThreadID.ToString выше Synchronize(), получил разные номера потоков. Спасибо! Цитата Ссылка на комментарий
0 antigrav Опубликовано 5 февраля Автор Поделиться Опубликовано 5 февраля Правильно ли я понимаю, что номер, который печатался в опубликованном фрагменте кода - это номер главного потока? Цитата Ссылка на комментарий
0 antigrav Опубликовано 5 февраля Автор Поделиться Опубликовано 5 февраля Снимаю предыдущий вопрос. Можно проверить через обращение к MainThreadID. Цитата Ссылка на комментарий
0 Tumaso Опубликовано 5 февраля Поделиться Опубликовано 5 февраля 6 часов назад, antigrav сказал: Правильно ли я понимаю, что номер, который печатался в опубликованном фрагменте кода - это номер главного потока? Сама суть Synchronize в том, чтобы выполнить код в главном потоке antigrav 1 Цитата Ссылка на комментарий
Вопрос
antigrav
Кто-нибудь юзал такую штуку: "параллельный отладчик Parnassus"? Если да, то какое мнение? И можно ли его получить и установить не имея активной подписки на обновления?
Ссылка на комментарий
12 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.