LINUX.ORG.RU

Нити -- на катушках, потоки -- в трубах...

Поточнее можно спросить?

Die-Hard ★★★★★
()

Нити и потоки - это "одно и тоже" понятие, смотри pthread_create() pthread_close pthread_exit() pthread_attr_init()

В Линухе есть два типа многозадачности - процессы и потоки. Один процесс может породить несколько потоков, тогда они могут свободно видеть все переменные и структуры в контексте своего процесса, естественно их надо синхронизировать посиксовыми семафорами. Многозадачность на потоках - вещь хорошая, "гарантируется" переносимость ПО между различными посиксовыми ОС.

Есть ещё другие "потоки" смотри folpen() fclose() fprintf()

binr ★★
()
Ответ на: комментарий от Vinill

> fork - поток > > thread - нить > > man - молодец

5 баллов!

(но fork -- это всё же не поток, а процесс)

DmVo
()
Ответ на: комментарий от binr

> В Линухе есть два типа многозадачности - процессы и потоки.

Можно поточнее (желательно со ссылкой) охарактеризовать термин "поток"? Желательно также английский перевод слова "потоки" в данном контесксте.

Заранее благодарен.

Die-Hard ★★★★★
()
Ответ на: комментарий от Die-Hard

>Можно поточнее (желательно со ссылкой) охарактеризовать термин "поток"? Желательно также английский перевод слова "потоки" в данном контесксте.

Конечно, thread переводится как нить. Но очень часто говорят не нить, а поток. Например "многопоточное приложение". В доках по ос2000 применяются термины "поток" и "нить".

binr ★★
()
Ответ на: комментарий от binr

binr (16.06.2004 17:28:19):

Точно!

Я и забыл. Действительно, при переводе на русский Вындузовых менюшек thread переводится как поток...

Die-Hard ★★★★★
()
Ответ на: комментарий от dilmah

>педанты говорят "поток выполнения":)

мне до педанта далеко, я пользуюсь той терминологией, что и все. Главное, что бы меня понимали. А с виндовыми потоками ни когда не работал. Было дело окошки, RS-232.. потоки не пробовал. Думается мне что, в винде использование нитей это бесовшина не имеющая ни чего общего с многозадачностью.

В общем ни чего против нитей не имею, дабы избежать путаницы потоками *FILE fopen()

ЗЫ интересно спросить педантов, что такое "поток НЕвыполнения" или "НЕлинейное программирование" :D

binr ★★
()
Ответ на: комментарий от dilmah

Вы знаете ... я в одной книжке по программированию в вин2000 видел понятие как потока (thread), так и нити (fiber). Причём, это были 2 разных понятия. Было приведено 2 апи для этого:
CreateThread (...) и CreateFiber (...)
Я не углублялся в это особенно, только запомнил, что с точки зрения винды fiber ещё меньше, чем поток. Подробнее не могу вспомнить. Может кто поправит.

RomanU
()
Ответ на: комментарий от RomanU

fiber в, принципе, это тот же thread, только с небольшими примамбасами - давно уже читал, подробностей не помню, меня эти возможности не заинтересовали.

исключительно IMHO :). счас, наверное, все начнут орать, но многозадачность в win nt 5.x все таки реализована лучше, чем в линухе. по крайней мере на ядре 2.4 - это чисто из собственного опыта. :)

Vinill ★★
()
Ответ на: комментарий от Vinill

> исключительно IMHO :). счас, наверное, все начнут орать, но многозадачность в win nt 5.x все таки реализована лучше, чем в линухе. по крайней мере на ядре 2.4 - это чисто из собственного опыта. :)

В 2.4 нити не фонтан. Почитал про 2.6 - облизываюсь, пока руки не дошли попробовать, но вроде все проблемы уже решены :)

Spectr ★★★
()
Ответ на: комментарий от Vinill

Vinill (17.06.2004 8:55:15):

> fiber в, принципе, это тот же thread, только с небольшими примамбасами

Нет.

fiber -- "юзерспейсовская" нить, не кооперативная. Иногда на русский переводится как "волокно". Ими любят злоупотреблять в системах, ориентированных на использование нитей, но с дорогим переключением контекста, типа Солярки.

Die-Hard ★★★★★
()

thread - нить.

Как "поток" его перевело чье-то больное сознание (что не повод этому следовать)

к счастью, во многих переводах используется разумный вариант.

Murr ★★
()
Ответ на: комментарий от Spectr

>>Почитал про 2.6 - облизываюсь, пока руки не дошли попробовать, но >>вроде все проблемы уже решены :)
ИМЯ ! ИМЯ СЕСТРА !!! ГДЕ ПРОЧИТАЛ ?!!!!!!

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.