Шаблоны используются для описания формы данных, которые вы ищете. Форма является представлением шаблона (графика).
Узлы представлены с помощью кружков, а отношения представлены с помощью стрелок между ними.
В следующем запросе
MATCH (user)
RETURN user
LIMIT 1
Шаблон (user)
Форма для этого же: [ 116]
И для следующего запроса:
MATCH (me)-[:KNOWS]->(friend)
WHERE me.name = 'Filipa'
RETURN friend.name
(me)-[:KNOWS]->(friend)
Многоядерное программирование является чрезвычайно многопоточным программированием. Пока Ваше приложение является многопоточным, операционная система определит который ядро работать который поток на.
Таким образом Ваш реальный вопрос должен быть, какие приложения извлекли бы выгоду из того, чтобы быть многопоточным? Думайте о таком приложении, затем инстанцируйте нескольких потоков для решения равных частей проблемы.
Лучший способ запуститься состоит в том, чтобы захватить последний CTP параллельной платформы расширений и начать пахать через их пример кода.
Читайте на модели асинхронного программирования, которую использует.NET. Изучите парадигму BeginXXX и EnxXXX, которая позволяет делегатам выполняться в пуле потоков.
Потоковые классы у всех есть BeingXXX, методы EndXXX (например, BeginRead, EndRead), которые позволяют Вам делать асинхронный IO. Если Вы будете работать над чем-то, что в большой степени основывал IO, то Вы захотите использовать эти методы для увеличения параллелизма.
Я не рекомендую книги очень часто больше, но Параллельное Программирование Joe Duffy в Windows просто незаменимо.
Ищите информацию о .net 4.0. Это будет добавлять различные конструкции для него.
Как JaredPar сказал, что Параллельные Расширения довольно хороши. Я играл с ними немного, и они просты в использовании и добавляют производительность.
Конструкции мне понравилось много, были Параллельны. ForEach () и PLinq.
Параллель. ForEach подобен ForEach (делегат) функция, которую Вы имеете в наборах DotNet 2.0. Это берет делегата действия и выполняет его параллельно.
Plinq позволяет Вам выполнять любой нормальный запрос Linq параллельным способом путем добавления.AsParallel () в конец запроса.
Проверьте ссылки Jared, отправленный для большего количества информации.
Просто разделяя Ваш проект на различные потоки, специализированные, чтобы сделать, конкретная функция позволит Вам использовать в своих интересах несколько ядер. Дескрипторы ОС, планируя различные потоки к самому доступному ядру процессора.