Если Вы используете базу данных, которая поддерживает карту - уменьшают, как couchdb, храня теги в поле простого текста или перечисляют поле, действительно лучший способ. Пример:
tagcloud: {
map: function(doc){
for(tag in doc.tags){
emit(doc.tags[tag],1)
}
}
reduce: function(keys,values){
return values.length
}
}
Выполнение это с group=true сгруппирует результаты именем тега, и даже возвратит количество количества раз, что с тегом встретились. Это очень похоже на подсчет случаев слова в тексте .
Погуглил. ссылки. Они кажутся полезными:
При отладке многопоточного кода C с помощью GDB я обычно обращаюсь к записи в руководстве по gdb «Отладка программ с несколькими потоками». Вы можете найти его здесь .
Это не совсем учебник, но в нем есть пара примеров, с которых вы можете начать.
В дополнение к различным учебным пособиям по gdb я бы действительно посоветовал много использовать "watch" при многопоточной отладке. Он прерывается при чтении / записи в память / переменные, а не в определенных строках исходного кода.