Если бы вы пришли ко мне на работу и задали этот вопрос, я бы бросил вам пару книг:
Введение в параллельные вычисления и Параллельные научные вычисления
Ваш ответ вполне может быть "это не то, о чем я хочу узнать!", так что возвращайтесь и будьте немного более конкретны в своем вопросе, и мы сможем быть немного более конкретными в наших ответах.
Но самый "ответственный" способ научить себя этому материалу такой же, как и самый ответственный способ научить себя любому программированию: возьмите проблему, возьмите набор инструментов, определите срок и приступайте.
если вы прочтете все, что Google найдет по приведенному ниже материалу, у вас будет неплохое начало. Предполагается, что у вас есть общие знания в области ИТ и т.д. Они не зависят от языка или ОС:
Алгоритм Петерсона атомарный тест и набор критическая секция рандеву барьеры памяти алгоритмы без блокировок
Математической основой этого, вероятно, является сеть Петри.
Читайте Дийкстру.
Что касается технологий Microsoft, то на портале MSDN Parallel Computing здесь есть много информации. Вы можете начать со ссылок "Начало работы".
Эта статья в основном является рекламой услуг по обучению. К мнению продавца о стоимости его собственной продукции следует относиться с некоторой осмотрительностью.
Я понятия не имею, как вы узнали все остальное, что вы уже знаете о компьютерах, но если бы это сработало для вас, я бы придерживался того же подхода для следующего предмета, который вы хотите изучить.
Я не могу рекомендовать какие-либо книги, не зависящие от языка / платформы - я подозреваю, что они в любом случае будут очень академичными. Если вы действительно работаете в .NET, то Джефф Рихтер пишет много хороших материалов о многопоточности, и я считаю, что в 3-м издании его книги C # / CLR (предыдущие издания были превосходны) много говорится о параллельном программировании.