|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||||||||||||||||||||||||||||||||||||||||||
Как получить TID текущего потока? (библиотека pthread, компилятор g++ 4.6.1 открытый вопрос niXmanу)27.12.2011, 10:51. Показов 19779. Ответов 77
Метки нет (Все метки)
Да, как?
Меж тем других версия g++, в частности, 4.5.0, pthread_t был определён так:
ПОлучение TID потока, сводилось таким обраом, к:
Добавлено через 17 часов 32 минуты niXman, я сделал так, открыл \i686-pc-mingw32\include, заккоментил
ВЫвод:
0
|
||||||||||||||||||||||||||||||||||||||||||||||
| 27.12.2011, 10:51 | |
|
Ответы с готовыми решениями:
77
Как узнать, что поток закончился (библиотека pthread)? Компилятор не видит библиотеку pthread Приоритет потока (pthread) |
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
| 27.12.2011, 23:20 [ТС] | ||||||
|
Это необходимо в процессе обучения. Навскидку- да изучения системы для. Я вот например время от времени погружаюсь в системное программирование, то есть мне надо уметь увидеть сколько процессов запущено, сколько потоков. Можно конечно, увидеть это с помощью ProcessExplorer, а можно попытаться самому написать примитивную прожку, которая бы сканировала ось и выводила потоки в консоль, что я собсно и делаю. Или вот, например, чел берётся изучать Джефри Рихтера- ну так наверное правильно бы было всё это пощупать тык скыть через руки пропустить? Можно ведь на слово поверить, что вот этот вот поток уснёт
Для учёбы, короче. Пока не соображу для чего ещё.
0
|
||||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 27.12.2011, 23:33 [ТС] | |
|
Да я уж понял что она для моих целей не подойдёт. И только одна мысль свербит- неужели неправы были те дядьки, которые так реализовали pthread, что pthread_self возвращала тот же TID , что и GetCurrentThreadid? Они вот просто закрыли глаза на то, что pthread кпроссплатформенная и сделали вещь.
0
|
|
|
|
|
| 27.12.2011, 23:42 | |
|
kravam, если сильно невмоготу, то могу себе в туду`шку записать о необходимости предоставить функцию, которая бы из pthread_self() результата, возвращала вендовый хендл.
Добавлено через 3 минуты что-то я совсем запутался %) что тебе запрещает юзать GetCurrentThreadid ?
0
|
|
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
||
| 27.12.2011, 23:52 | ||
|
pthread_self возвращает внутренний идентификатор ядра библиотеки и как минимум тем самым защищает себя от ваших манипуляций с ее потоками
0
|
||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 28.12.2011, 00:18 [ТС] | |
|
Я в одном твёрдо убеждён: если будет так реализовано, что pthred_self будет возвращать то же, что и GetCurrentThreadid, всем будет хорошо, ни одна строчка стандарта не будет нарушена и это будет круто и все (есть кто кроме меня?) кто пользуется такой билблиотекой будут тебе благодарны. А уж хэндл мы сами найдём.
++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++ Да ничто мне не запрещает, куда ж я денусь-то, буду использовать GetCurrentThreadid. Но ты тоже пойми мою настойчивость, я понимаю, когда функции реализованы по-разному, но когда они реализованы настолько по-разному, я не мог пройти мимо этого факта. Не ну как, одна возвращает 1, а другая 501. И ни объяснений ни полобъяснений. Какой уважающий себя исследователь пройдёт мимо этого факта? Ну короче надо вот было мне выяснить и всё тут. А ты не знаешь, это может значить что-то важное? В pthread.h это закомменчено: /* struct _pthread_v; typedef struct pthread_t { struct _pthread_v *p; int x; } pthread_t; */ то есть типа намёк, что можно расскоментить и пользоваться? Размышляю над этим.
0
|
|
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
||
| 28.12.2011, 00:21 | ||
|
0
|
||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 28.12.2011, 00:28 [ТС] | |
|
Спасибо, конечно, но так-то я сам разберусь что мне будет плохо и что хорошо.
0
|
|
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 28.12.2011, 00:30 | |
|
kravam, верю без труда
так чем не устравивают тогда функции winapi?
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 28.12.2011, 00:34 [ТС] | |
|
Повторяю:
Но ты тоже пойми мою настойчивость, я понимаю, когда функции реализованы по-разному, но когда они реализованы настолько по-разному, я не мог пройти мимо этого факта. Не ну как, одна возвращает 1, а другая 501. И ни объяснений ни полобъяснений. Какой уважающий себя исследователь пройдёт мимо этого факта? Ну короче надо вот было мне выяснить и всё тут.
0
|
|
|
3 / 3 / 0
Регистрация: 09.01.2012
Сообщений: 28
|
|
| 10.01.2012, 16:07 | |
|
А нельзя скармливать номер потока как аргумент функции в pthread_create ?
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 10.01.2012, 16:14 [ТС] | |
|
Как же скармливать ей номер потока ккоторый ещё не существует? Она ведь его создаёт!
Не по теме: Что бы продать что-нибудь ненужное, надо купить что-нибудь ненужное, а у нас денег нет
0
|
|
|
3 / 3 / 0
Регистрация: 09.01.2012
Сообщений: 28
|
|||||||||||
| 10.01.2012, 17:40 | |||||||||||
|
Прототип функции pthread_create:
0
|
|||||||||||
|
Псевдослучайный
1946 / 1146 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
|
||||||||
| 10.01.2012, 20:05 | ||||||||
|
Я видел вот такой вариант получения TID:
При этом
Вчитался в ман, это чисто линуксовая фича
0
|
||||||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 10.01.2012, 20:33 [ТС] | |
|
Можно качнуть другие сборки, где библиотека pthread неинтегрирована, а потом вот эту версию ptgread поставить: http://sourceware.org/pthreads-win32/
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 10.01.2012, 23:24 [ТС] | |
|
Не замечаю, ибо с терминами не разобрался, мне некогда, извини.
0
|
|
|
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
|
||
| 15.01.2012, 20:56 | ||
|
кто сказал, что ID потока в pthreads - это то же самое, что ID потока в Win API. общего у них только то, что их обозвали одинаково - ID
0
|
||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 15.01.2012, 21:22 [ТС] | |
|
Ну так-то да, щас уж вопрос из какого значения можно извлечь больше пользы. И сдаётся мне, щас кто-то спросит, зачем приложению знать о чужих потоках...
0
|
|
| 15.01.2012, 21:22 | |
|
библиотека pthread.h в Code::Blocks Pthread функция потока внутри класса Изолирование данных родительского потока от дочернего в pthread Параллельное программирование, библиотека pthread. Объединение, пересечение, разность множеств A, B, C Как получить ответ на открытый порт UDP Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов
• Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp
• Смежный проект:. . .
|
22. Подключение слоя системной динамики (потоковые диффуры): экономические метрики модели
anaschu 17.06.2026
Апдейт модели: финансовый контур, разделение затрат
Продолжаю развивать модель рабочего коллектива на AnyLogic. В этот раз работа шла над агентом Экономика — финансовым SD-слоем модели. Задача:. . .
|
[golang] Insert Delete GetRandom O(1) (Leetcode: 380)
alhaos 16.06.2026
Insert Delete GetRandom O(1)
Сложность: Medium
Источник: LeetCode 380
Задача
Реализовать структуру данных RandomizedSet, которая поддерживает следующие операции за O(1) в среднем:
|
Свет в конце тоннеля
kumehtar 16.06.2026
Поймал себя на одной мысли.
Раньше мне всегда казалось неправильным жить без чёткого понимания, куда всё идёт. Будто я иду по дороге судьбы, но не знаю, куда она ведёт. А раз не знаю — значит,. . .
|
|
[golang] Реализация стека с поддержкой получения минимального элемента за O(1)
alhaos 16.06.2026
Min Stack
Сложность: Medium
Источник: LeetCode 155
Задача:
Реализовать стек который поддерживает push, pop, top и получение минимального элемента за O(1).
Методы:
|
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача
Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
Сигнатура
func Fetch(urls string, maxConcurrent int) Result
Пример
urls :=. . .
|
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition)
Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
|
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
|