Czy sam podział na wątki wystarczy ???
Jeśli system umie rozrzucać wątki po rdzeniach to tak =]
Wolał bym jakąś odpowiedź bez słowa jeśli , jeśli to możliwe oczywiście.
z logiki oraz ze znajomości języka potocznego, słowo "jeśli" ma konkretne, wyraźne brzmienie, tutaj znaczy ono:
Na systemach potrafiących rozdzielać wątki pomiędzy 'procesory', fakt z'wątkowania' programu wystarczy aby używać kilku procesorów/rdzeni na raz. W innych przypadkach - nie wystarczy. Tak więc, w ogólności odpowiedz brzmi NIE.
"na systemach" - rozumiem jak byśmy mieli setke systemów albo dwie setki. Ale są 3 - (Windows xp, windows vista), linux, mac os,
Ale domyślam się że chodzi o to że każdy z tych systemów sobie z tym poradzi.
nieznany napisał(a)
jak byśmy mieli setke systemów albo dwie setki. Ale są 3
[rotfl]
Są 3, czy Ty więcej nie znasz? ;P
Doczytaj sobie: http://pl.wikipedia.org/wiki/System_operacyjny#Systemy_operacyjne
A ile z tych systemów jest powszechnie używanych na PC? 3 - windows, unix i mac.
Więc dołącze sie do pytania, czy powyższe systemy sobie z tym radzą?
:D
A ile jest róznych wersji tych systemów to pomyślałeś? Bo to ze coś działa na jednej dystrybucji, nie znaczy że działa na innej...
Programista zazwyczaj nie zajmuje się obsługą rdzeni procesora. Tym zajmuje się system operacyjny i odpowiedni sterownik. Pisząc aplikację wielowątkową, już system zadba o to żeby przydzielić każdy wątek do innego rdzenia jeśli będzie to możliwe z punktu technicznego. W praktyce różnie bywa.
Inny napisał(a)
A ile z tych systemów jest powszechnie używanych na PC? 3 - windows, unix i mac.
MacOS jest powszechnie używany na PC? O, to ciekawe :D
*PC to nie tylko IBM PC: http:*pl.wikipedia.org/wiki/Komputer_osobisty - adf88
Inny napisał(a)
Więc dołącze sie do pytania, czy powyższe systemy sobie z tym radzą?
Poczytaj: http://osilek.mimuw.edu.pl/index.php?title=SO-1st-2.3-w2.tresc-1.0-toc
Jeśli Ci mało, to zaopatrz się w książkę pana Silberschatza.
W .NET jest klasa ktora umozliwia lepsze ort! "korow",
Metoda CreateTask() ,poslugujesz sie tak samo jak w CreateThread().
Roznica polega na tym, ze w przypadku taskow wystepuje wymuszenie ort! nowego rdzenia do nowego taska (rownomiernie rozdystrybuowany).
Rzeczywiscie daje to wymierne efekty, nawet przy prostych testach.
Widac jak cory sa rowno obciazone.