У меня есть программа, с которой я связываюсь со многими библиотеками. Я запускаю свое приложение в профилировщике и выяснил, что большую часть времени он проводит в состоянии ожидания после некоторых сетевых запросов. Эти запросы являются результатом моего кодового вызова sleeping_function()
из внешней библиотеки. Я вызываю эту функцию в цикле, который выполняет много, много раз, поэтому все времена ожидания суммируются до огромных сумм.Как связать не потокобезопасную библиотеку, чтобы каждый поток имел свои глобальные переменные?
Как я не могу изменить sleeping_function()
Я хочу начать несколько потоков, чтобы запустить несколько итераций моего цикла параллельно. Проблема в том, что эта функция внутренне использует некоторые глобальные переменные.
Есть ли способ рассказать компоновщику на SunOS, что я хочу связать определенные библиотеки таким образом, чтобы все переменные помещали их в локальное хранилище потоков?
Хороший вопрос. Пожалуйста, Linux и Windows решения также. –