Xpoint
   [напомнить пароль]

Треды - это фича операционной системы?

Метки: [без меток]
[удл]
2010-10-22 09:01:19 [обр] Андрей Анатольич+(0/46)[досье]
Всем привет, давно не был на икспоинте - надеюсь, тут еще есть обитатели)
Интересует такой вопрос - треды - это нечно встроенное в операционную систему или как?
спустя 56 минут [обр] Thirteensmay(0/157)[досье]
Да, это механизм ОС.
спустя 15 часов [обр] Василий Свиридов(0/175)[досье]
сообщение промодерировано

Thirteensmay[досье]Скорее механизм ядра :)

Но не обязательно. Например у виртуальной машины Java есть свой вариант тредов. А виртуальная машина Эрланга состоит из них чуть менее чем полностью :)

спустя 31 минуту [обр] Thirteensmay(0/157)[досье]
Ну, я озвучил так сказать наиболее типичный случай, на самом деле если копнуть понятно что моментов можно найти, вплоть до того что усмотреть поддержку тредов в процессоре ;)
спустя 18 минут [обр] Андрей Анатольич+(0/46)[досье]

Василий Свиридов[досье] Да, мне уже тоже тут рассказали и про JVM и про Erlang =)

И еще такой вопрос: парралелизм (треды и процессы) и асинхронность - это же совершенно разные вещи?
Асинхронность - это отложенное выполнение кода, а парралелизм - работа программы в нескольких программных потоках?

Я просто запутался немного, начитался тут кучи всего и вот, пытаюсь разложить по-полочкам.

спустя 1 час 50 минут [обр] Thirteensmay(0/157)[досье]
Параллелизм это да, одновременная работа нескольких потоков или процессов, а вот асинхронность это не отложенное выполнение, это характеристика параллелизма, говорящая о том что процессы выполняются не синхронно, грубо говоря не равномерно, могут начаться и окончится в разное время, а даже если и в одно, то скорость выполнения одинаковых внутренних участков может быть разной, правда тут конечно зависит от того относительно чего мы эту асинхронность оцениваем. Если допустим есть 2 параллельных процесса и внутри них нет каких либо особых состояний требуемых для внешнего взаимодействия, если важен только вход и выход (результат), то даже если внутри они выполняются не равномерно, все равно можно сказать что они синхронны если начинаются и заканчиваются одновременно, т.к. это никак не проявляется. А вот если внутри этих процессов есть моменты взаимодействия то они не могут считаться синхронными, т.к. из за различной скорости выполнения внутренних участков моменты взаимодействия могут наступить в разное время. Вообще существует такое понятие как моменты (точки) синхронизации, обычно это начало или конец, или какойто момент взаимодействия внутри. Если точки синхронизации достигаются одновременно (либо с постоянной разницей) то считается что процессы синхронны (относительно этих точек), вне зависимости от остального. Если представить 2 процесса состоящих из одинаковых элементарных действий, количество которых одинаково, последовательность и скорость выполнения также одинакова, то такие процессы абсолютно синхронны, в любой их фазе.
Powered by POEM™ Engine Copyright © 2002-2005