Está en la página 1de 5

Nombre de la materia

Programación orientada a objetos

Nombre de la Licenciatura
Ingeniería en sistemas computacionales

Nombre del alumno


José Erick Rodríguez Mendoza

Matrícula
000015986

Nombre de la Tarea
Tarea #7

Unidad #
Excepciones y threads

Nombre del Tutor


Laura Veronica Medina

Fecha
02 de Mayo de 2016

1
Unidad # Excepciones y threads
Programación orientada a objetos

Excepciones y threads
Introducción

El manejo de excepciones es una técnica de programación que permite al programador controlar


los errores ocasionados durante la ejecución de un programa informático. Cuando ocurre cierto tipo de error, el sistema
reacciona ejecutando un fragmento de código que resuelve la situación, por ejemplo retornando un mensaje de error o
devolviendo un valor por defecto.

Una excepción en términos de lenguaje de programación es la indicación de un problema que ocurre durante la
ejecución de un programa. Sin embargo, la palabra excepción se refiere a que este problema ocurre con poca frecuencia
generalmente cuando existe algún dato o instrucción que no se apega al funcionamiento del programa por lo que se
produce un error. El manejo de excepciones permite al usuario crear aplicaciones tolerantes a fallas y robustos
(resistentes a errores) para controlar estas excepciones y que pueda seguir ejecutando el programa sin verse afectado
por el problema. En lenguaje java estas excepciones pueden manejarse con las clases que extienden el paquete
Throwable de manera directa o indirecta, pero existen diversos tipos de excepciones y formas para manejarlas.

Definición Thread

En Java un hilo es un objeto con capacidad de correr en forma concurrente el método run (). En cierta manera es como
tener dos "program counters" para un mismo código. Una diferencia con los procesos es que carece de sentido y no es
posible en este enfoque hacer mutar un proceso con algo similar a exec ().

Una Thread es un único flujo de control dentro de un programa. Algunas veces es llamado contexto de ejecución porque
cada Thread debe tener sus propios recursos, como el program counter y el stack de ejecución, como el contexto de
ejecución. Sin embargo, toda Thread en un programa aún comparte muchos recursos, tales como espacio de memoria y
archivos abiertos. Threads también son llamadas procesos livianos (lightweight process).

NOTA: Es mucho más simple crear y destruir una Thread que un proceso.

2
Unidad # Excepciones y threads
Programación orientada a objetos

Es momento de que realices los Ejercicios de aplicación: Excepciones y Threads.


Para finalizar tus actividades del curso POO, realiza lo siguiente:

1. Sobre el ejemplo de la unidad anterior (figuras geométricas) explica tres situaciones en las que sería necesario
implementar una excepción. ¿Qué error habría que prevenir?

 Si el programa fuera manejado por un usuario, es decir que el usuario ingresaría los valores de las
dimensiones de las figuras geométricas habría que tener excepciones si el usuario ingresa números tipo
“Int” en lugar de “float” ya que esto generaría un error en nuestro resultado

 Para la clase triangulo debería agregarse una excepción en caso de que las dimensiones de los lados del
triángulo no formen un triángulo.

Ejemplo.

 Evitar que la ocurrencia de excepciones se muestre al usuario final en pantalla de forma incontrolada.

3
Unidad # Excepciones y threads
Programación orientada a objetos

2. Además de los hilos, ¿qué otra técnica se utiliza en la programación para ejecutar varios procesos de un
programa?

La programación paralela es el uso de varios procesadores trabajando en conjunto para dar solución a una tarea en
común, lo que hacen es que se dividen el trabajo y cada procesador hace una porción del problema al poder
intercambiar datos por una red de interconexión o a través de memoria.
La programación paralela permite resolver problemas que no caben en un solo procesador y que no se resuelven en un
tiempo razonable, se pueden ejecutar problemas con mayor complejidad más rápidamente.
El rendimiento de las computadoras tradicionales secuenciales está saturándose porque las aplicaciones de hoy en día
necesitan realizar trabajo más complejo, por lo cual la solución es tener varios procesadores en sistemas paralelos, al así
obtener ganancia de eficiencia siempre y cuando los algoritmos se diseñen adecuadamente.
Lenguajes para computadoras paralelos son flexibles para permitir una implementación eficiente y ser aún más fáciles
para programar

Dos técnicas básicas:


pipeline:

1. Un pipeline es un conjunto de elementos procesadores de datos conectados en serie, en el cual la salida de un


elemento está conectado en la entrada del que sigue. los elementos de esta técnica son ejecutados en paralelo,
debe haber un tipo buffer insertando los elementos.

Aplicaciones de pipelines, consiste en múltiples procesos que están ordenados de tal forma que el flujo de
salida de un proceso se alimenta de la entrada del siguiente proceso.

2. Replicación asincrónica

Tecnología en la que una vez que los datos están escritos en el sitio de almacenamiento primario, los nuevos datos a
este sitio son aceptados, sin tener que esperar que el sitio de almacenamiento secundario o remoto termine su
escritura.

4
Unidad # Excepciones y threads
Programación orientada a objetos

Espero que mi explicación les sirva, si tienen algún comentario acerca de esta entrada, espero me digan ya que estoy
abierto a cualquier error.

Conclusión

Cuando se esta programando debemos tener claro que nuestro código no es perfecto, así tengamos mucha experiencia
en desarrollo siempre esta la posibilidad de que algo falle, sea por nuestro código o por otros factores, por eso de la
importancia de contemplar todo desde antes, posibles fallos o lo que pueda afectar el sistema.

Referencias
https://es.wikipedia.org/wiki/Manejo_de_excepciones
https://en.wikipedia.org/wiki/Thread_(computing)

También podría gustarte