Practica Hilos Oracle 1
En esta práctica, agregara código a una aplicación existente. Deberá determinar si el código está ejecutándose en un ambiente multihilo y si esasí hacerlo seguro (thread-safe)
Tareas
1. Abrir el proyecto Synchronized como proyecto principal
2. Expande el directorio del proyecto
3. Crear la clase PurchasingAgent en el paquete com.example.
4.Completar la clase PurchasingAgent.
a. Agregar el método purchase. El método purchase() debería:
i. Obtener una referencia a un objeto de tipo Store. Debe notar que la clase Store implementa el patrónde diseño Singleton.
ii. Comprar una camiseta (Shirt)
Verificar que la tienda tiene al menos una camiseta en el stock.
Utilice el objeto tienda para autorizar una compra con tarjeta crédito. Utiliceuna tarjeta de crédito con número de cuenta igual a “1234” y una capacidad de compra de 15.00. Debe retornar un resultado de tipo boolean.
Si hay camisetas en el stock y la tarjeta de crédito fueautorizada, entonces usted debería tomar esa camiseta de la tienda.
Imprima la información de la camiseta y un mensaje indicando si fue adquirida o si la operación no tuvo éxito.
5. Ejecute el proyectovarias veces. Note que la tienda contiene solo una camiseta. Puede ver algunas variaciones en la prueba. Por ejemplo:
a. Dos mensajes de transacción realizada y dos camisetas
b. Dos mensajes detransacción realizada y una camiseta y otra con null
c. Dos mensajes de transacción realizada y una camiseta y una excepción
d. Un mensaje de transacción realizada, una camiseta y un mensaje detransacción fallida.
6. Ahora utilizaremos la clase PurchasingAgent
a. En la clase PurchasingAgent utilice el constructor y escriba una instrucción para imprimir un mensaje que nos indique cuando un agente escreado.
b. Con el método purchase utilice el método Thread.currentThread() para obtener una referencia al hilo que actualmente ejecuta el método purchase(). Imprima el nombre y el id del hilo...
Regístrate para leer el documento completo.