C++ новая потокобезопасность оператора в Linux и gcc 4

Я бы использовал analyze-string, в XSLT 3 вы можете вызвать его как функцию XPath и просто обработать XML fn:match элементы, которые возвращает функция:

  
      
  

полный пример

[111 ]

В XSLT 2 вы можете использовать вместо этого xsl:analyze-string, а затем использовать xsl:matching-substring для вывода элемента VALUE:

  
      
          
              
                  
              
          
      
  

http://xsltransform.net/pNEhB3b

14
задан Piotr Dobrogost 6 July 2009 в 16:07
поделиться

4 ответа

You will have to look very hard to find a platform that supports threads but doesn't have a thread safe new. In fact, the thread safety of new (and malloc) is one of the reasons it's so slow.

If you want a thread safe STL on the other hand, you may consider Intel TBB which has thread aware containers (although not all operations on them are thread safe).

18
ответ дан 1 December 2019 в 09:02
поделиться

Пока я говорю Что касается концепций, которые я не использовал, я чувствую, что должен упомянуть, что если вы используете разделяемую память, вы, вероятно, захотите убедиться, что вы используете только типы POD, и использовать новое размещение.

Во-вторых, если вы используете разделяемая память, как это обычно понимается в системах Linux, тогда вы можете использовать несколько процессов - не потоков, чтобы распределять память и «делать вещи» - используя разделяемую память в качестве уровня связи. Если это так, то безопасность потоков вашего приложения и библиотек не важна, однако важна безопасность потоков всего, что использует распределение общей памяти!

2
ответ дан 1 December 2019 в 09:02
поделиться

Как правило, оператор new является поточно-ориентированным, однако гарантии безопасности потоков для вызовов в STL и стандартную библиотеку регулируются стандартом - это не означает, что они потоки не знают - они, как правило, имеют четко определенные гарантии безопасности потоков для определенных операций. Например, перебор списка в режиме «только для чтения» является потокобезопасным для нескольких читателей, а перебор списка и внесение обновлений - нет. Вы должны прочитать документацию и посмотреть, каковы различные гарантии, хотя они не такие обременительные и имеют смысл.

8
ответ дан 1 December 2019 в 09:02
поделиться

Ну, это не окончательный ответ на мой вопрос, просто что я узнал, что Google реализовал высокопроизводительный многопоточный malloc .

Так что, если вы сомневаетесь, является ли ваша реализация потокобезопасной, возможно, вам следует использовать Google Инструменты производительности .

2
ответ дан 1 December 2019 в 09:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: