🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #8036

Re: Hilos en java

#8036
From: Antonio Maestre García
Date: Wed, 08 Jan 2003 12:41
54 lines
3932 bytes
J.A. Gutierrez wrote:

> Antonio Maestre Garc�a <anmaegar@quitararrakis.es> wrote:
> 
> : modo que van "rotando". En cambio en Solaris debe ser el propio hilo el
> : que ceda la CPU a otro de la misma prioridad.
> donde has le�do eso?
> Me suena muy raro...

Vamos a ver si sacamos algo en claro pq me interesa bastante. Seg�n el libro 
Java 2: Curso de programaci�n (Fco.Javier Ceballos-Ed. Rama) esto es as�.
Inicialmente explica que la m�quina virtual aplica un algoritmo determinista 
basado en la prioridad, es decir, que la planificaci�n de la CPU es por 
derecho de prioridad (preemptive). Por tanto, cada hilo tiene asignada una 
prioridad, de modo que cuando varios hilos est�n en la cola de preparados 
se selecciona el de mayor prioridad. Solamente cuando ese hilo se detenga 
podr� ejecutarse uno de menor prioridad, pero si llega un nuevo hilo de 
mayor prioridad a la cola de preparados, entonces este se expulsa y pasa a 
la CPU el de mayor prioridad. �ok?. Ahora textualmente del libro:

"Seg�n lo expuesto, la m�quina Java no reemplazar� el hilo actual en 
ejecuci�n por otro de las misma prioridad. En otras palabras, la m�quina 
Java no aplica una planificaci�n por cuantos, aunque la implementaci�n del 
sistema de hilos que subyace en la clase Thread puede soportarlos. Por 
tanto, no se debe escribir c�digo que dependa de cuantos, puesto que en 
algunas m�quinas virtuales puede funcionar (Win y Mac) y en otras no 
(Solaris). Despu�s de lo dicho ser�a bueno programar nuestros hilos de modo 
que cedieran el control voluntariamente algunas veces..."

En otro p�rrafo en el que sigue hablando de hilos con la misma prioridad:

"... una de las causas por las que la CPU ser� cedida a otro hilo ser� pq se 
supere el quantum de tiempo asignado. En este aspecto, la especificaci�n de 
Java da mucha libertad. Cada m�quina virtual implementa como quiere este 
agujero en la definici�n, cumpliendo perfectamente el est�ndar. Por 
ejemplo, las plataformas Win 9x/NT/2000 y Mac admiten planificaci�n por 
cuantos para hilos con la misma prioridad; en cambio, Solaris planifica por 
cooperaci�n, es decir, los hilos deben ceder voluntariamente la UCP."

Consultando otro libro: Java 2 (Herbert Schildt , Ed. McGraw-Hill), viene a 
decir lo mismo:

"....En SO como W98 los hilos se reparten autom�ticamente el tiempo mediante 
un algoritmo circular. En otros SO, como Solaris 2.x, los hilos deben ceder 
voluntariamente el control a otros de la misma prioridad. Si no lo hacen 
as�, estos �ltimos no se ejecutar�n..."

Despu�s de todo esto, �c�mo lo hace linux?. Y lo m�s importante, si quieres 
portabilidad debes siempre ceder t� voluntariamente la CPU, pq seg�n esto 
en Windows todos los hilos se ejecutar�an pero en Solaris algunos podr�an 
morir de inanici�n �no?
-- 
Saludos,
Linux User #226079
Technical Details
Message-ID: <3e1c1e32_3@news.arrakis.es>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!fu-berlin.de!nsnmpen1-lo.nuria.telefonica-data.net!nsnmrro1-lo.nuria.telefonica-data.net!caladan.arrakis.es
References: <3e18577b_2@news.arrakis.es> <ave6f1$8pm$1@news.unizar.es>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,2f02ae4d24bf9df5
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2003-01-08 04:47:32 PST
Message-ID: <3e1c1e32_3@news.arrakis.es>
From: Antonio Maestre García <anmaegar@QUITARarrakis.es>
Subject: Re: Hilos en java
Newsgroups: es.comp.os.linux.programacion
Date: Wed, 08 Jan 2003 13:41:06 +0100
References: <3e18577b_2@news.arrakis.es> <ave6f1$8pm$1@news.unizar.es>
Lines: 54
Organization: ---
User-Agent: KNode/0.7.1
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15
Content-Transfer-Encoding: 8Bit
NNTP-Posting-Host: 213.9.248.126
X-Trace: caladan.arrakis.es 1042030131 213.9.248.126 (8 Jan 2003 13:48:51 +0100)
X-Original-NNTP-Posting-Host: 195.5.65.34
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!fu-berlin.de!nsnmpen1-lo.nuria.telefonica-data.net!nsnmrro1-lo.nuria.telefonica-data.net!caladan.arrakis.es