Está en la página 1de 2

Prcticadelaboratorio

Asignatura:ProgramacinOrientadaaObjetos Unidad:2 Nombredelaprctica:ProcesosProductor/Consumidorusandohilos Tiempoestimado:2horas Autor:Dr.HctorSaldaaAldana Resultadodeaprendizaje Alfinalizarlaprcticaelalumnohabrprogramado,utilizandoel conceptodemultihilos,lasclasesnecesariasparacomprender losprocesosdetipoProductor/Consumidor.

Procedimiento(1parte)
1. CrearlainterfazllamadaBuffer,conlosmtodos:colocaryobtener. 2. CrearlaclaseProductorcomounaclasedetipohilo(thread)queextiendaalaclase Thread,conelmtodorun(),quetienecomofuncionalidadelcolocar4nmeros enteros,del1al4enelbuffer. 3. CrearlaclaseConsumidorcomounaclasedetipoThreadconelmtodorun(),que extrae4nmerosdelbufferyquehacelasumadelosnmerosquesacadelbuffere imprimeelvalordelasuma. 4. CrearlaclaseBufferNoSincqueimplementalainterfazBuffer,perosinconsiderar ningunasincronizacin. a. Implementarlosmtodos:colocaryobtenerdelainterfaz b. EstebuffersolamentetendrUNAPOSICINoMEMORIAparaalmacenarUN SOLONMERO. 5. CrearelprogramaprincipalPruebaBufferCompartidoparaprobarlasclases anteriores.Tendrque: a. Crearunbuffernosincronizado b. CrearlosobjetosProductor/Consumidor c. IniciarlosprocesosProductoryConsumidor 6. Correrelprogramayverelfuncionamiento:Sacarsusconclusiones.

2parte.Sincronizacindeprocesos
Objetivo:CrearunBuffersincronizadoparaelprogramadeProductor/Consumidorpararesolver elproblemaqueseobserveneldiseoanterior,mediantelasincronizacindeprocesos. Enestecasoelconsumidorsoloconsumeslohastaqueelproductorproduceunvaloryel productorproduceunvalorhastaqueelconsumidorconsumeelvalorANTERIORproducido. TambinvamosautilizarlasmismasclasesdeProductoryConsumidor,peroahoralos procesosnosabrnqueestnsiendosincronizados. Lasincronizacinseharconlosmtodosobtenerycolocardeunanuevaclase BufferSinc. 1.CrearlaclaseBufferSincqueimplementalainterfazBuffer(yacreadaanteriormente). Losmtodoscolocaryobtenerestarnsincronizados(synchronized)

Usaremosunavariabledecondicinparasaberelturnodelproductorodelconsumidor pararealizarsutarea. SiestadoBuffer = 0 (variabledecondicin)indicaqueelbufferestvacoyqueel productorpuedecolocarunvalordentrodelbuffer.PerotambinleindicaalConsumidorqueno puedeutilizarelmtodoobtenerparaextraerunvalordelbuffer.

También podría gustarte