Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sistemas Operativos - (Capítulo 20 - Concurrencia e Hilos Con Java) PDF
Sistemas Operativos - (Capítulo 20 - Concurrencia e Hilos Con Java) PDF
20.1 Introducción
Para el desarrollo del presente caso de estudio se ha utilizado el lenguaje Java, una muy
poderosa herramienta para el desarrollo orientado a objetos, la utilización a través de Inter-
net, el desarrollo multiplataforma y especialmente para la explotación de la concurrencia
a nivel de programa, mediante la utilización de hilos de ejecución o procesos ligeros, según
se los designa en la bibliografía existente [25, Tanenbaum] y [20, Castillo, Cobo, Gómez y
Solares].
Los hilos o procesos ligeros son una parte de código o miniprograma que puede ser
ejecutada independientemente, de forma que una aplicación o un applet puede tener varios
hilos ejecutándose simultáneamente y efectuando distintas tareas; estos hilos se encuentran
dentro de un programa y son parte de él.
Los hilos, a veces también llamados contextos de ejecución, pueden ser utilizados para
la implementación de algoritmos paralelos o procesos concurrentes, sin ser necesario dis-
poner de equipos con estructura de multiprocesador. En el caso de un solo procesador,
los procesos ligeros incorporan mecanismos para compartirlo, estableciéndose prioridades
entre ellos y también facilidades de sincronización, cuando es necesario.
Los aspectos teóricos relacionados con los hilos (threads) han sido desarrollados en el
Capítulo “Procesos y Procesadores en Sistemas Distribuidos”.
Copyright © 2004. El Cid Editor. All rights reserved.
Conforme a lo antes indicado, el objetivo del caso de estudio desarrollado fue el de pro-
gramar una aplicación con Java (Hilos.java) que implementara el problema de “procesos
productores y consumidores” y que permitiera generar un archivo reutilizable de segui-
miento (Hilos.txt y su versión formateada Hilos.dat) y posteriormente efectuar análisis
de la forma en que se ha desarrollado la ejecución concurrente de los hilos y la sincroniza-
ción de los mismos, que es el verdadero objetivo, más allá de la utilización como ejemplo
del problema de productores y consumidores.
529
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
530 CAPÍTULO 20. CONCURRENCIA E HILOS CON JAVA
• Los procesos consumidores simulan retirar, es decir “leer” información del grupo de
buers disponibles, que previamente debió ser “cargado” por los procesos producto-
res.
• Los procesos productores solo actúan cuando el nivel de buers grabados está por
debajo de cierto límite, llamado límite de reposición, que es un dato variable que se
ingresa como parámetro de configuración de la simulación, al igual que la cantidad
de buers grabados en cada reposición.
Copyright © 2004. El Cid Editor. All rights reserved.
• Los procesos consumidores pueden retirar (leer) buers en número variable pero
hasta cierto límite, que también es un dato variable que se ingresa como parámetro
de configuración de la simulación.
• Debido a que los procesos productores solo actúan cuando el número de buers
disponibles está por debajo del nivel de reposición y a que la cantidad de reposición
es finita, se asegura que el número de buers del pool será siempre finito.
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
20.5. PROGRAMA DESARROLLADO 531
Respecto del archivo generado, el mismo tendrá un tamaño variable según los datos
que se hayan suministrado a la ejecución que lo produce, especialmente el tiempo de
ejecución; es preciso señalar además que el archivo es reutilizable, es decir que se borra
automáticamente al iniciar cada ejecución.
El código del programa desarrollado (Hilos.java) es el siguiente:
//
//
// * Los hilos consumidores leen (y liberan) buers del pool de buers disponibles.
//
Copyright © 2004. El Cid Editor. All rights reserved.
import java.io.*;
import java.util.*;
import java.util.Date;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
532 CAPÍTULO 20. CONCURRENCIA E HILOS CON JAVA
import java.applet.*;
import java.applet.Applet;
import java.math.*;
import java.text.*;
import java.lang.String;
import java.lang.*;
implements ActionListener {
VentanaDialogCH ventana;
SimpleDialogCH dialog;
TextArea textArea;
Button boton1;
public Hilos() {
MenuBar barra;
// Menú principal.
setMenuBar(barra);
barra.add(cargadatos);
Copyright © 2004. El Cid Editor. All rights reserved.
cardatos.addActionListener(this);
cargadatos.add(cardatos);
ejecuc.addActionListener(this);
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
20.5. PROGRAMA DESARROLLADO 533
cargadatos.add(ejecuc);
listaeje.addActionListener(this);
cargadatos.add(listaeje);
barra.add(ayuda);
ayulis.addActionListener(this);
ayuda.add(ayulis);
barra.add(salir);
fin.addActionListener(this);
salir.add(fin);
barra.add(acerca);
acercade.addActionListener(this);
acerca.add(acercade);
addWindowListener(new WindowAdapter() {
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
534 CAPÍTULO 20. CONCURRENCIA E HILOS CON JAVA
System.exit(0);
});
System.exit(0);
ventana.setVisible(true);
ventana.setBackground(Color.yellow);
ventana.setForeground(Color.red);
ventana.setSize(new Dimension(600,400));
ventana.setVisible(true);
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
20.5. PROGRAMA DESARROLLADO 535
ventana.setBackground(Color.red);
ventana.setForeground(Color.yellow);
ventana.setSize(new Dimension(600,400));
ventana.setVisible(true);
ventana.setBackground(Color.green);
ventana.setForeground(Color.orange);
ventana.setSize(new Dimension(600,400));
ventana.setTitle(”Lista Ayuda”);
ventana.setVisible(true);
Copyright © 2004. El Cid Editor. All rights reserved.
ventana.setBackground(Color.cyan);
ventana.setForeground(Color.magenta);
ventana.setSize(new Dimension(600,400));
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
536 CAPÍTULO 20. CONCURRENCIA E HILOS CON JAVA
ventana.setVisible(true);
ventana.setBackground(Color.orange);
ventana.setForeground(Color.blue);
ventana.setSize(new Dimension(600,400));
menus.setVisible(true);
menus.setBackground(Color.cyan);
menus.setSize(new Dimension(850,650));
imagen1.setTitle(”???????”);
imagen1.setVisible(true);
imagen1.setBackground(Color.orange);
Copyright © 2004. El Cid Editor. All rights reserved.
imagen1.setSize(new Dimension(100,100));
SimpleDialogCH dialog;
TextArea textArea;
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
20.5. PROGRAMA DESARROLLADO 537
Button boton1;
public VentanaDialogCH(){
textArea=new TextArea(5,40);
textArea.setEditable(false);
add(”Center”,textArea);
boton1.addActionListener(this);
panel.add(boton1);
add(”South”,panel);
panel.setBackground(Color.yellow);
addWindowListener(new WindowAdapter(){
setVisible(false);
}});
String str=evt.getActionCommand();
if(str.equals(”Diálogo p/ configuración”)){
if(dialog==null)
dialog=new SimpleDialogCH(this,”Configuración”);
dialog.show();
Copyright © 2004. El Cid Editor. All rights reserved.
try {
textArea.setForeground(Color.orange);
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
538 CAPÍTULO 20. CONCURRENCIA E HILOS CON JAVA
textArea.append(asterisc);
ex.printStackTrace ();
try {
f0.delete();
long longitud;
longitud = 0;
f1.seek(longitud);
f1.writeUTF(stock);
f1.close();
catch (Exception e) {
}
Copyright © 2004. El Cid Editor. All rights reserved.
try {
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
20.5. PROGRAMA DESARROLLADO 539
ex.printStackTrace ();
try {
long longitud;
longitud = f1.length();
f1.seek(longitud);
f1.writeUTF(maxcompra);
f1.close();
catch (Exception e) {
try {
ex.printStackTrace ();
}
Copyright © 2004. El Cid Editor. All rights reserved.
try {
long longitud;
longitud = f1.length();
f1.seek(longitud);
f1.writeUTF(limitereponer);
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
540 CAPÍTULO 20. CONCURRENCIA E HILOS CON JAVA
f1.close();
catch (Exception e) {
try {
ex.printStackTrace ();
try {
long longitud;
longitud = f1.length();
f1.seek(longitud);
f1.writeUTF(cantidadreponer);
f1.close();
}
Copyright © 2004. El Cid Editor. All rights reserved.
catch (Exception e) {
try {
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
20.5. PROGRAMA DESARROLLADO 541
textArea.append(asterisc);
textArea.append(”\n ”);
ex.printStackTrace ();
try {
long longitud;
longitud = f1.length();
f1.seek(longitud);
f1.writeUTF(tiempoapertura);
f1.close();
catch (Exception e) {
}
Copyright © 2004. El Cid Editor. All rights reserved.
VentanaDialogCH parent;
Button b1;
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
542 CAPÍTULO 20. CONCURRENCIA E HILOS CON JAVA
super(fr,titulo,true);
parent=(VentanaDialogCH)fr;
p1.add(etiqueta1);
tstock=new TextField(”0”,4);
p1.add(tstock);
add(”Center”,p1);
p1.add(etiqueta2);
tmaxcompra=new TextField(”30”,4);
p1.add(tmaxcompra);
add(”Center”,p1);
p1.add(etiqueta3);
tlimitereponer=new TextField(”40”,4);
p1.add(tlimitereponer);
add(”Center”,p1);
Copyright © 2004. El Cid Editor. All rights reserved.
p1.add(etiqueta4);
tcantidadreponer=new TextField(”50”,4);
p1.add(tcantidadreponer);
add(”Center”,p1);
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
20.5. PROGRAMA DESARROLLADO 543
p1.add(etiqueta5);
ttiempoapertura=new TextField(”2000”,4);
p1.add(ttiempoapertura);
add(”Center”,p1);
p2.setLayout(new FlowLayout(FlowLayout.RIGHT));
b1=new Button(”Cancelar”);
b1.addActionListener(this);
b2.addActionListener(this);
p2.add(b1);
p2.add(b2);
add(”South”,p2);
setSize(500,200);
String str=evt.getActionCommand();
if(str.equals(”Aceptar”))
parent.setText1(tstock.getText());
stock = tstock.getText();
parent.setText2(tmaxcompra.getText());
MAXCOMPRA = tmaxcompra.getText();
Copyright © 2004. El Cid Editor. All rights reserved.
parent.setText3(tlimitereponer.getText());
LIMITEREPONER = tlimitereponer.getText();
parent.setText4(tcantidadreponer.getText());
CANTIDADREPONER = tcantidadreponer.getText();
parent.setText5(ttiempoapertura.getText());
TIEMPOAPERTURA = ttiempoapertura.getText();
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
544 CAPÍTULO 20. CONCURRENCIA E HILOS CON JAVA
setVisible(false);
TextArea textArea;
public VentanaDialogECH(){
textArea=new TextArea(5,40);
textArea.setEditable(false);
add(”Center”,textArea);
addWindowListener(new WindowAdapter(){
setVisible(false);
}});
try {
long longitud;
longitud = 0;
f1.seek(longitud);
stock = f1.readUTF();
Copyright © 2004. El Cid Editor. All rights reserved.
maxcompra = f1.readUTF();
limitereponer = f1.readUTF();
cantidadreponer = f1.readUTF();
tiempoapertura = f1.readUTF();
f1.close();
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
20.5. PROGRAMA DESARROLLADO 545
catch (Exception e) {
try {
a.stock = Integer.parseInt(stock);
a.MAXCOMPRA = Integer.parseInt(maxcompra);
a.LIMITEREPONER = Integer.parseInt(limitereponer);
a.CANTIDADREPONER = Integer.parseInt(cantidadreponer);
a.TIEMPOAPERTURA = Integer.parseInt(tiempoapertura);
p1.start();
p2.start();
c1.start();
c2.start();
c3.start();
ex.printStackTrace ();
try {
long longitud;
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
546 CAPÍTULO 20. CONCURRENCIA E HILOS CON JAVA
String c, d, asterisc;
longitud = 0;
f1.seek(longitud);
asterisc = ”\n*************************************”;
d = ”\n ”;
textArea.setForeground(Color.red);
textArea.append(asterisc);
c = f1.readUTF();
c = f1.readUTF();
c = f1.readUTF();
c = f1.readUTF();
c = f1.readUTF();
textArea.append(asterisc);
textArea.append(d);
Copyright © 2004. El Cid Editor. All rights reserved.
f1.close();
catch (Exception e) {
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
20.5. PROGRAMA DESARROLLADO 547
String str=evt.getActionCommand();
TextArea textArea;
public VentanaDialogLCH(){
textArea=new TextArea(5,40);
textArea.setEditable(false);
add(”Center”,textArea);
addWindowListener(new WindowAdapter(){
setVisible(false);
}});
try {
long longitud;
String c, d, asterisc;
longitud = 0;
f1.seek(longitud);
asterisc = ”\n*************************************”;
Copyright © 2004. El Cid Editor. All rights reserved.
d = ”\n ”;
textArea.setForeground(Color.red);
textArea.append(asterisc);
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
548 CAPÍTULO 20. CONCURRENCIA E HILOS CON JAVA
c = f1.readUTF();
c = f1.readUTF();
c = f1.readUTF();
c = f1.readUTF();
c = f1.readUTF();
textArea.append(asterisc);
textArea.append(d);
textArea.append(c);
textArea.append(d);
f1.close();
catch (Exception e) {
}
Copyright © 2004. El Cid Editor. All rights reserved.
String str=evt.getActionCommand();
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
20.5. PROGRAMA DESARROLLADO 549
TextArea textArea;
public VentanaDialogA(){
textArea=new TextArea(5,40);
textArea.setEditable(false);
add(”Center”,textArea);
addWindowListener(new WindowAdapter(){
setVisible(false);
}});
try {
textArea.setForeground(Color.blue);
textArea.append(”\n ”);
textArea.append(asterisc);
textArea.append(”\n ”);
textArea.append(”\n ******************************************************”);
textArea.append(”\n ”);
textArea.append(”\n ”);
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
550 CAPÍTULO 20. CONCURRENCIA E HILOS CON JAVA
textArea.append(”\n ”);
textArea.append(”\n ”);
textArea.append(”\n ”);
textArea.append(”\n ”);
textArea.append(asterisc);
textArea.append(”\n ”);
ex.printStackTrace ();
String str=evt.getActionCommand();
TextArea textArea;
public VentanaDialogAS(){
textArea=new TextArea(5,40);
textArea.setEditable(false);
add(”Center”,textArea);
addWindowListener(new WindowAdapter(){
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
20.5. PROGRAMA DESARROLLADO 551
setVisible(false);
}});
try {
textArea.setForeground(Color.black);
textArea.append(”\n ”);
textArea.append(asterisc);
textArea.append(”\n ”);
textArea.append(”\n ****************************************************”);
textArea.append(”\n ”);
textArea.append(”\n ”);
textArea.append(”\n ”);
textArea.append(asterisc);
textArea.append(”\n ”);
ex.printStackTrace ();
String str=evt.getActionCommand();
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
552 CAPÍTULO 20. CONCURRENCIA E HILOS CON JAVA
implements AdjustmentListener {
Image imagen1;
ImaCanvas imaani;
Panel panel;
public VImaCanvas(){
setLayout(new BorderLayout());
imagen1 = Toolkit.getDefaultToolkit().getImage(”Ani0076.gif”);
panel.add(imaani);
add(”Center”,imaani);
imaani.repaint();
Image img;
Copyright © 2004. El Cid Editor. All rights reserved.
int x,y;
img=imagen1;
x=0;
y=0;
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
20.5. PROGRAMA DESARROLLADO 553
g.drawImage(img,0,0,this);
almacen = a;
this.numero = numero;
while(!almacen.cerrado){
if(System.currentTimeMillis()
-almacen.hora>almacen.TIEMPOAPERTURA){
almacen.cerrado=true;
try {
long longitud;
String c;
c = ”Fin de la ejecución.”;
longitud = f1.length();
Copyright © 2004. El Cid Editor. All rights reserved.
f1.seek(longitud);
f1.writeUTF(c);
f1.close();
catch (Exception e) {
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
554 CAPÍTULO 20. CONCURRENCIA E HILOS CON JAVA
almacen.reponer(numero);
try {
sleep((int)(Math.random() * 100));
catch (InterruptedException e) {
almacen = a;
this.numero = numero;
int value;
while(!almacen.cerrado){
value=(int)(Math.random()*almacen.MAXCOMPRA);
Copyright © 2004. El Cid Editor. All rights reserved.
almacen.comprar(numero,value);
class Almacen {
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
20.5. PROGRAMA DESARROLLADO 555
long hora=System.currentTimeMillis();
int cantidad) {
try { wait();
} catch (InterruptedException e) {
if(!cerrado){
if(stock<cantidad){
cantidad=stock;
stock-=cantidad;
try {
long longitud;
Copyright © 2004. El Cid Editor. All rights reserved.
String c;
longitud = f1.length();
f1.seek(longitud);
f1.writeUTF(c);
f1.close();
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
556 CAPÍTULO 20. CONCURRENCIA E HILOS CON JAVA
catch (Exception e) {
if(stock<=LIMITEREPONER)
necesitareponer = true;
notify();
if (!cerrado){
try { wait();
} catch (InterruptedException e) {}
stock+=CANTIDADREPONER;
try {
long longitud;
String c;
longitud = f1.length();
Copyright © 2004. El Cid Editor. All rights reserved.
f1.seek(longitud);
f1.writeUTF(c);
f1.close();
catch (Exception e) {
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
20.6. DATOS Y EJECUCIONES 557
necesitareponer = false;
notify();
30
40
50
2000
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.
558 CAPÍTULO 20. CONCURRENCIA E HILOS CON JAVA
La, Red Martínez, David Luis. Sistemas operativos, El Cid Editor, 2004. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=3159249.
Created from bibliounicartagenasp on 2018-07-30 15:53:51.