Вопросы с тегом «thread-safety»

103
SecureRandom потокобезопасен?

Является ли SecureRandomпоточно? То есть можно ли полагаться на доступ к следующему случайному числу после его инициализации для обеспечения потоковой безопасности? Изучение исходного кода, похоже, показывает, что это так, и этот отчет об ошибке, похоже, указывает на то, что отсутствие...

101
Являются ли глобальные переменные потокобезопасными в Flask? Как передать данные между запросами?

В моем приложении состояние общего объекта изменяется путем выполнения запросов, а ответ зависит от состояния. class SomeObj(): def __init__(self, param): self.param = param def query(self): self.param += 1 return self.param global_obj = SomeObj(0) @app.route('/') def home():...

95
Как я могу заставить тест JUnit ждать?

У меня есть тест JUnit, который я хочу подождать некоторое время синхронно. Мой тест JUnit выглядит так: @Test public void testExipres(){ SomeCacheObject sco = new SomeCacheObject(); sco.putWithExipration("foo", 1000); // WAIT FOR 2 SECONDS assertNull(sco.getIfNotExipred("foo")); } Я пробовал...

93
как узнать, что НЕ является потокобезопасным в Ruby?

начиная с Rails 4 , по умолчанию все должно работать в многопоточном окружении. Это означает, что весь код, который мы пишем, И ВСЕ используемые драгоценные камни должны бытьthreadsafe Итак, у меня есть несколько вопросов по этому поводу: что НЕ является потокобезопасным в ruby ​​/ rails? Vs Что...

91
Почему локальные переменные в Java являются потокобезопасными

Я читал многопоточность на Java и наткнулся на это Локальные переменные в Java являются потокобезопасными. С тех пор я думал, как и почему локальные переменные являются потокобезопасными. Может кто-нибудь дайте мне знать....

91
Определите, является ли установленный PHP потокобезопасным или нет?

Как узнать, является ли установленная версия PHP потокобезопасной или нет? Обратите внимание, что я не спрашиваю о разнице между поточно-поточно / небезопасной установкой. Я хотел бы узнать, что сейчас установлено....

89
Threadsafe vs повторно въезжающий

Недавно я задал вопрос с заголовком «Является ли malloc потокобезопасным?» , и внутри я спросил: «Маллок возвращается?» У меня создалось впечатление, что все реентерабельные являются потокобезопасными. Это предположение неверно?...

87
lock (new object ()) - Культ груза или какой-то сумасшедший «особый случай языка»?

Я просматриваю код, написанный консультантом, и, хотя уже появились десятки красных флажков, я не могу осмыслить следующий фрагмент: private void foo() { if (InvokeRequired) { lock (new object()) { if (m_bar!= null) Invoke(new fooDelegate(foo), new object[] { }); } } else { if(OnBazChanged !=...

79
Android - лучший и безопасный способ остановить поток

Я хочу знать, как лучше всего остановить поток в Android. Я знаю, что могу использовать AsyncTaskвместо него и что есть cancel()метод. Я должен использовать Threads в моей ситуации. Вот как я использую Thread: Runnable runnable = new Runnable() { @Override public void run() { //doing some work }...

68
Многопоточная программа зависла в оптимизированном режиме, но нормально работает в -O0

Я написал простую многопоточную программу следующим образом: static bool finished = false; int func() { size_t i = 0; while (!finished) ++i; return i; } int main() { auto result=std::async(std::launch::async, func); std::this_thread::sleep_for(std::chrono::seconds(1)); finished=true;...

12
Гарантирует ли «volatile» что-либо вообще в переносимом коде C для многоядерных систем?

После глядя на кучу из других вопросов и их ответов , я получаю впечатление , что не существует никакого широко распространенного соглашения о том , что «летучий» ключевое слово в C означает точно. Даже сам стандарт не достаточно ясен для того, чтобы все могли понять, что это значит . Среди других...

9
Скопировать конструктор с неконстантным аргументом, предложенным правилами безопасности потока?

У меня есть обертка для какого-то унаследованного кода. class A{ L* impl_; // the legacy object has to be in the heap, could be also unique_ptr A(A const&) = delete; L* duplicate(){L* ret; legacy_duplicate(impl_, &L); return ret;} ... // proper resource management here }; В этом...