הבעיה שמאוד קשה לכתוב תוכנה שתדע לעבוד בריבוי נימים, ובטח כשרוב התוכנות הם גירסאות משוכתבות של גרעין קיים.
הסיבה היא, אם להסביר בפשיטות, שהתוכנה צריכה לחשב רצף של פעולות . חישוב א, ואז לפי
התוצאה של חישוב א לעשות ב', ואז לפי
התוצאה של חישוב ב לעשות חישוב ג' וכן הלאה. ככה נכתבו התוכנות ב-30 שנה האחרונות (בכל מקרה כך היה ההידור לשפת מכונה

.
לכן, אין שום תועלת ב-2 מעבדים (או ליבות לא משנה לצורך העניין

, כי גם אם נאמר שאת חישוב א' תעשה ליבה מס' 1 לליבה 2 לא יהיה מה לעשות עד שליבה 1 תספק לה את הנתון שהיא צריכה ונפסיד עוד הרבה זמן בהעברה של החומר מליבה לליבה. (לכן יש תוכנות ישנות שיעבדו יותר מהר אם נשייך אותן במנהל משימות לליבה אחת, נקרא בלעז affinity)
תוכנות מאוד מקצועיות, כמו אלו של אדובי או 3D MAX ו AUTOCAD ככל שהגירסאות שלהם יותר מתקדמות הם משכתבים עוד חלקים מהקוד מקור שלהם כדי שיתאימו -2 ליבות (או יותר

. אבל עדיין אל תצפו לשיפור של 50%, במקרה הטוב מדובר על 25-30 וגם זה נדיר. (במק המצב לא הרבה יותר טוב, למי שמתעניין

.
עדיין מעבדים מרובי ליבות מועילים כשמריצים מספר תוכנות במקביל במחשב אחד, ואז מערכת ההפעלה (אמורה, ויסטה עושה את זה הרבה יותר טוב

לחלק את התוכנות כל אחת לליבה אחרת.
למי שיש ברשותו מעבד מרובה ליבות של AMD, (גם ה X2 וגם הפנום

יש להם תוכנה מיוחדת שמאיצה מאוד את הנושא של חלוקת העומס בין הליבות , קוראים לה dual core optimizer אפשר להוריד אותה מהאתר שלהם.