На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (245) « Первая ... 56 57 [58] 59 60 ...  244 245  ( Перейти к последнему сообщению )  
> Есть ли будущее у DELPHI?
    Цитата korvin @
    Цитата D_KEY @
    нитки - это в первую очередь средство для оптимизации

    Не согласен я. При чем тут оптимизация, если во многих случаях нитки юзают одно и то же ядро(процессора)? Думаю они также просто являются одним из средств организации архитектуры приложения.

    Я о том, что отказ от процессов в пользу ниток связан с производительностью. Ибо вся разница заключается в доступе к общему адресному пространству. Естественно, если речь идет об ОС, где порождение дочерних процессов является нормальной ситуацией.
      Между нитками тоже бывает необходимо общение. Например как каналы в Limbo/Go. Или это уже не совсем нитки?
        Цитата korvin @
        Между нитками тоже бывает необходимо общение. Например как каналы в Limbo/Go. Или это уже не совсем нитки?

        С точки зрения принятой в большинстве ОС терминологии это не "системные" нитки, хотя могут быть через них реализованы.
        В разных областях терминология естественным образом отличается :)
        И в том же Go они даже нитками и не называются.
          Цитата D_KEY @
          С точки зрения принятой в большинстве ОС терминологии это не "системные" нитки, хотя могут быть через них реализованы.
          В разных областях терминология естественным образом отличается :)
          И в том же Go они даже нитками и не называются.

          Общепринятый способ разделения такой: процессы не имеют общей памяти, нити могут иметь общую память (и исполняются в области одного процесса). Ты же читал "Анатомию параллелизма", там проведена вполне наглядная аналогия с несколькими бассейнами.

          Добавлено
          Цитата D_KEY @
          С точки зрения принятой в большинстве ОС терминологии это не "системные" нитки, хотя могут быть через них реализованы.
          В разных областях терминология естественным образом отличается :)
          И в том же Go они даже нитками и не называются.

          Не, ну разница между OS-threads и Soft-threads тут не существенна. В том смысле, что, например OS-threads почти бессмысленны, а производительность soft-threads зависит от реализации.

          Добавлено
          т.е. я к тому, что
          Цитата
          нитки - это в первую очередь средство для оптимизации

          — не совсем обоснованное утверждение.
            Цитата korvin @
            Общепринятый способ разделения такой: процессы не имеют общей памяти, нити могут иметь общую память (и исполняются в области одного процесса).

            Так я это и сказал.
            И именно поэтому:
            Цитата
            нитки - это в первую очередь средство для оптимизации

            Ибо общее адресное пространство имеет только одно преимущество для обмена данными - высокое быстродействие.
              Цитата D_KEY @
              Я о том, что отказ от процессов в пользу ниток связан с производительностью. Ибо вся разница заключается в доступе к общему адресному пространству. Естественно, если речь идет об ОС, где порождение дочерних процессов является нормальной ситуацией.
              А шо, разделяемой памяти под линуксом у процессов быть не может?
                Цитата D_KEY @
                Так я это и сказал.
                И именно поэтому:
                Цитата
                нитки - это в первую очередь средство для оптимизации

                Ибо общее адресное пространство имеет только одно преимущество для обмена данными - высокое быстродействие.

                Это не "обмен данными", а просто общие read-only данные. Какой тут обмен? И какая тут оптимизация?

                Добавлено
                Цитата Повстанець @
                А шо, разделяемой памяти под линуксом у процессов быть не может?

                ХЗ как там в линуксе, но у процессов в принципе не может и не должно быть разделяемой памяти, на то они и процессы.
                  Цитата Повстанець @
                  Цитата D_KEY @
                  Я о том, что отказ от процессов в пользу ниток связан с производительностью. Ибо вся разница заключается в доступе к общему адресному пространству. Естественно, если речь идет об ОС, где порождение дочерних процессов является нормальной ситуацией.
                  А шо, разделяемой памяти под линуксом у процессов быть не может?

                  Процессы память не разделяют, но естественно есть специальный механизм shared memory.

                  Добавлено
                  Цитата korvin @
                  Это не "обмен данными", а просто общие read-only данные.

                  Ты сейчас о чем? Откуда взялось readonly? И общий доступ - это так же средство обмена. Кто-то записал, кто-то прочитал.
                  Сообщение отредактировано: D_KEY -
                    Цитата D_KEY @
                    Цитата korvin @
                    Это не "обмен данными", а просто общие read-only данные.

                    Ты сейчас о чем? Откуда взялось readonly? И общий доступ - это так же средство обмена. Кто-то записал, кто-то прочитал.

                    Только в этом случае у нас куча тормозящих факторов: блокируемые чтение/запись, определение корректного режима доступа, определение владельца этой памяти. Нафига этот геморрой?
                    Сообщение отредактировано: korvin -
                      Цитата korvin @
                      ХЗ как там в линуксе, но у процессов в принципе не может и не должно быть разделяемой памяти, на то они и процессы.

                      Ты все-таки не забывай, что речь о системном API.
                        Цитата D_KEY @
                        Цитата korvin @
                        ХЗ как там в линуксе, но у процессов в принципе не может и не должно быть разделяемой памяти, на то они и процессы.

                        Ты все-таки не забывай, что речь о системном API.

                        И что? Системном API какой ОС? Вот в QNX, например, процессы не имеют общей памяти.

                        Добавлено
                        А ты не забывай, что "общая память" усиливает связность =)
                        Сообщение отредактировано: korvin -
                          Цитата korvin @
                          ХЗ как там в линуксе, но у процессов в принципе не может и не должно быть разделяемой памяти, на то они и процессы.
                          Да ладно... :)
                          Цитата korvin @
                          А ты не забывай, что "общая память" усиливает связность =)
                          Ну дык если тебе собственно связность процессов и нужна.
                            Цитата Повстанець @
                            Да ладно... :)

                            Да, я вполне серьезно =)


                            Цитата Повстанець @
                            Ну дык если тебе собственно связность процессов и нужна.

                            Для этого есть IPC, иначе как ты собрался регулировать корректность использования разделяемой памяти разными процессами, которые запросто могут быть разными приложениями с разными менеджерами памяти: с/без GC и т.д.?

                            Добавлено
                            И да, о какой (большей, чем предоставляемой ОС) связности ты говоришь между разными приложениями? Продемонстрируй приложение, взаимодействующее, например, с Photoshop, MS Word, Apache, Oracle DB Server, Mongo DB, SBCL, JVM с помощью этой вашей shared memory?
                              Цитата korvin @
                              Для этого есть IPC
                              Ну вообще то разделяемая память -- часть IPC.
                              Цитата korvin @
                              иначе как ты собрался регулировать корректность использования разделяемой памяти разными процессами, которые запросто могут быть разными приложениями с разными менеджерами памяти: с/без GC и т.д.?
                              Ну.. как бы, есть правила устанавливаемые операционной системой с одной стороны. И создателем сервера с другой стороны. Вот опираешся на эти правила и смотришь как это будет выглядеть конкретно в твоём случае.

                              Добавлено
                              korvin, ты подумай о том, что shared memory, это тот же pipe, только с произвольным доступом, а не потоковым.
                                Цитата Повстанець @
                                korvin, ты подумай о том, что shared memory, это тот же pipe, только с произвольным доступом, а не потоковым.

                                Что значит "с произвольным"? Что будет в случае одновременной записи в один и тот же участок? И, самое главное, какую пользу дает эта абстракция, по сравнению с обменом сообщениями?
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (245) « Первая ... 56 57 [58] 59 60 ...  244 245


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0827 ]   [ 14 queries used ]   [ Generated: 22.12.25, 03:19 GMT ]