The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Многопоточность"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Многопоточность"  
Сообщение от Дима email(??) on 26-Янв-06, 12:55 
Всем привет!

Вопрос такой. Пишу многопоточное приложение (Linux). Все отлично работает. Но, когда линкую программу статически а не динамически, вместо потоков получаются процессы. Есть ли возможность влиять на это? Чтобы и при статической линковке приложение оставалось многопоточным, а не становилось многопроцессным?

Заранее благодарен, Дима.


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Многопоточность"  
Сообщение от Hordi email on 26-Янв-06, 14:29 
А с чего ты это все взял? Какие процессы?


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

4. "Многопоточность"  
Сообщение от Дима email(??) on 26-Янв-06, 16:58 
>А с чего ты это все взял? Какие процессы?


Процессы видны командой ps -ef | grep progname. Потоки видны в /proc/procpid/tasks/

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "Многопоточность"  
Сообщение от chip email(ok) on 26-Янв-06, 15:59 
>Всем привет!
>
>Вопрос такой. Пишу многопоточное приложение (Linux).

Версия какая? До 2.5.x LWP ничем принципиально не отличались от процессов. Разве что добавлялся еще один процесс - мэнеджер.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "Многопоточность"  
Сообщение от Дима email(??) on 26-Янв-06, 16:54 
>>Всем привет!
>>
>>Вопрос такой. Пишу многопоточное приложение (Linux).
>
>Версия какая? До 2.5.x LWP ничем принципиально не отличались от процессов. Разве
>что добавлялся еще один процесс - мэнеджер.


Если честно, что такое LWP не знаю. Я пользуюсь библиотеками pthread. Версия glibc 2.3.2 и 2.3.3 - с обеими библиотеками поведение одинаковое....

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

5. "Многопоточность"  
Сообщение от chip email(ok) on 26-Янв-06, 17:38 
>Если честно, что такое LWP не знаю.

LWP - Light Weight Process, другими словами нити.

> Я пользуюсь библиотеками pthread. Версия
> glibc 2.3.2 и 2.3.3 - с обеими библиотеками поведение одинаковое....

Версия слюникса?


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

6. "Многопоточность"  
Сообщение от Дима email(??) on 26-Янв-06, 17:47 
>>Если честно, что такое LWP не знаю.
>
>LWP - Light Weight Process, другими словами нити.
>
>> Я пользуюсь библиотеками pthread. Версия
>> glibc 2.3.2 и 2.3.3 - с обеими библиотеками поведение одинаковое....
>
>Версия слюникса?

Fedora Core 1 и Fedora Core 3. Ведут себя одинаково

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

7. "Многопоточность"  
Сообщение от chip email(ok) on 26-Янв-06, 18:21 
>>>Если честно, что такое LWP не знаю.
>>
>>LWP - Light Weight Process, другими словами нити.
>>
>>> Я пользуюсь библиотеками pthread. Версия
>>> glibc 2.3.2 и 2.3.3 - с обеими библиотеками поведение одинаковое....
>>
>>Версия слюникса?
>
>Fedora Core 1 и Fedora Core 3. Ведут себя одинаково

На будущее - версия подразумевает версию ядра. uname -a.

ps: полагаю top у них модифицирован отображение LWP. Хотя могу и заблуждаться. Загляните в man top.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

8. "Многопоточность"  
Сообщение от Дима email(??) on 27-Янв-06, 09:00 
>>>>Если честно, что такое LWP не знаю.
>>>
>>>LWP - Light Weight Process, другими словами нити.
>>>
>>>> Я пользуюсь библиотеками pthread. Версия
>>>> glibc 2.3.2 и 2.3.3 - с обеими библиотеками поведение одинаковое....
>>>
>>>Версия слюникса?
>>
>>Fedora Core 1 и Fedora Core 3. Ведут себя одинаково
>

top тут абсолютно ни при чем.

>На будущее - версия подразумевает версию ядра. uname -a.
>
>ps: полагаю top у них модифицирован отображение LWP. Хотя могу и заблуждаться.
>Загляните в man top.


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

9. "Многопоточность"  
Сообщение от chip email(ok) on 27-Янв-06, 14:51 
>top тут абсолютно ни при чем.

Подразумевался набор ps, top, et cetera.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

10. "Многопоточность"  
Сообщение от Дима email(??) on 27-Янв-06, 15:30 
>>top тут абсолютно ни при чем.
>
>Подразумевался набор ps, top, et cetera.

Это понятно, но дело не в них. Я еще раз говорю: компилирую программу без опции --static - процесс один, много tasks видно в /proc. Компилирую с опцией --static - ps показывает много процессов, у каждого из которых один task.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

11. "Многопоточность"  
Сообщение от Wulf on 31-Янв-06, 01:30 
>>>top тут абсолютно ни при чем.
>>
>>Подразумевался набор ps, top, et cetera.
>
>Это понятно, но дело не в них. Я еще раз говорю: компилирую
>программу без опции --static - процесс один, много tasks видно в
>/proc. Компилирую с опцией --static - ps показывает много процессов, у
>каждого из которых один task.


может она динамически линкуется с более другими библиотеками, нежели статически и версии libpthread.so и libpthread.a не совпадают? Если совпадают, то можно попробовать поиграться с LD_ASSUME_KERNEL-переменной, которая определяет выбор трединга ран-тайм линкером, хотя на статическую сборку это, вроде, влиять не должно.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

12. "Многопоточность"  
Сообщение от Wulf on 31-Янв-06, 01:46 
Да, это я все говорю к тому, что в линуксе, как и в freebsd есть несколько тредовых библиотек, например, в имеющемся под рукой RHEL3, их  3 или 4, но в отличии от freebsd, они различаются не по именам, а по путям, причем статические и динамические находятся в разных!!! директориях. Т.е. рекомендуется внимательнее изучить пути, указываемые при линковке и вывод ldd, чтобы понять, что там на самом деле слинковалось.
P.S. Много "процессов", скорее всего, означают линковку с linuxthreads вместо NPTL
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

13. "Многопоточность"  
Сообщение от Дима email(??) on 01-Фев-06, 13:58 
>Да, это я все говорю к тому, что в линуксе, как и
>в freebsd есть несколько тредовых библиотек, например, в имеющемся под рукой
>RHEL3, их  3 или 4, но в отличии от freebsd,
>они различаются не по именам, а по путям, причем статические и
>динамические находятся в разных!!! директориях. Т.е. рекомендуется внимательнее изучить пути, указываемые
>при линковке и вывод ldd, чтобы понять, что там на самом
>деле слинковалось.
>P.S. Много "процессов", скорее всего, означают линковку с linuxthreads вместо NPTL

Да, у меня тоже библиотеки в разных путях лежат. Плохо это.... Буду пробовать статически слинковать программу, чтобы все-таки потоки были, а не процессы.....

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру