2010-11-12 9 views

Odpowiedz

3

W języku C# wątki są wątkami systemu operacyjnego lub są wspierane przez pulę wątków, która w każdym razie składa się z wątków systemu operacyjnego. W wątku systemu operacyjnego używane są zasoby użytkownika i jądra.

+0

Należy pamiętać, że wątki .NET mogą być w dowolnym momencie przeniesione do innego wątku systemu operacyjnego (nie ma jednak pojęcia o Javie). Dlatego istnieje tylko zarządzany identyfikator wątku. – Cameron

2

W Linuksie rozumiem, że są wątkami przestrzeni użytkownika.

Nitki jądra systemu Linux są efektywnie częścią systemu operacyjnego i zwykle działają z wysokimi uprawnieniami, dzięki czemu mogą uzyskać dostęp do przestrzeni adresowej dowolnego procesu. Implementowanie wątków Java lub C# w systemie Linux za pomocą wątków jądra jest niepotrzebne i byłoby bardzo niebezpieczne. (Zakłada się, że jest to technicznie możliwe ... co moim zdaniem nie dotyczy.)

+0

Wydaje mi się, że plakat pyta, czy każdy wątek Java/.NET to własny wątek widoczny w jądrze (np. Wątki jądra) lub czy wiele wątków Java/.NET jest zaplanowanych przez użycie przestrzeni dyskowej do użycia pojedynczego jądra - widocznego wątek (np. wątki przestrzeni użytkownika lub * wątki lekkie *). – Karmastan

+1

@Karmastan - Jeśli tak, użył niepoprawnej terminologii. W Linuksie naprawdę istnieją wątki jądra * przestrzeni *; tj. wątki działające z dostępem do fizycznych urządzeń itp. –

Powiązane problemy