Про DLL и потоки

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by BlackSilver, 6 Feb 2009.

  1. BlackSilver

    BlackSilver New Member

    Joined:
    30 Jan 2009
    Messages:
    28
    Likes Received:
    4
    Reputations:
    0
    Итак, литература указывает, что если разные программы подключают dll, то глобальные переменные библиотеки уникальны для каждой программы.
    Верно ли это утверждение для разных потоков одной программы?
     
  2. herfleisch

    herfleisch Elder - Старейшина

    Joined:
    7 Jan 2009
    Messages:
    578
    Likes Received:
    203
    Reputations:
    13
    Нет. Они не буду уникальными для каждого потока программы.
     
    2 people like this.
  3. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Нет вроде как. Каждая DLL подгружается к процессу только 1 раз. Т.к. все потоки находятся в пределах одного процесса то и получают одни и тежи данные из DLL если они глобальные.
     
  4. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    более того, LoadLibrary на подгруженную библиотеку вернёт указатель на уже подгруженную, не загружая ничего снова.

    а если очень надо делать так, то читай про TLS