Вы находитесь на странице: 1из 12

Programación

 Orientada  a  Objetos
PROGRAMACIÓN  ORIENTADA  A  OBJETOS 1

Sesión No. 7
Nombre: Eventos
Contextualización

Las computadoras como las conocemos hoy en día no son las únicas que
aplican los elementos de programación orientada a objetos o cualquier otro tipo
de programación, sino que cualquier aparato electrónico con uso de botones de
funciones o algún tipo de tarea en especial utilizan estos sistemas.

Para definir el uso de los sistemas y las acciones que realiza cada elemento
dentro y fuera de un dispositivo se necesita de una estructura definida de los
códigos, con la cual se indica que realiza cada dispositivo que se haya dado de
alta y se reconozca como tal.

En el caso de los eventos, se programa un objeto y al realizar una acción éste


debe cumplir con sus líneas de código, dicho de otra forma, un evento puede ser
el dar clic en el ratón de la computadora, teclear alguna letra, arrastrar
elementos por el escritorio o hacia alguna aplicación específica, dado el evento,
los sistemas internos de programación deben realizar alguna acción u omitirla,
por lo que al definir el script se debe contemplar todos los elementos de
interacción posibles, facilitando el uso de los elementos o mejorando el
rendimiento de los mismos.
PROGRAMACIÓN  ORIENTADA  A  OBJETOS 2

Introducción al Tema

Actualmente los sistemas operativos y las aplicaciones son muy exigentes,


requieren de un alto consumo de recursos dentro de una computadora; debido a
sus procesamientos, capacidades y programaciones se necesita de un sistema
actualizado, con buena cantidad de memoria RAM, disponibilidad de espacio en
el disco duro y una excelente gestión de los procesos y la memoria.

Para que estas aplicaciones funcionen correctamente en las computadoras se


necesita de un proceso multihilo, el cual mediante el uso del software y hardware
realiza varios procesos de información al mismo tiempo, estos procesos pueden
ser de renderizado, encapsulamiento, ejecución de alguna aplicación,
compilación de líneas de código o cualquier otro procedimiento que necesite de
más de un proceso a la vez, para esto es importante que al desarrollar una
aplicación o sistema consideremos los requerimientos de software y así
minimizar los problemas de rendimiento de la misma aplicación y de la gestión
de memoria de la computadora.
PROGRAMACIÓN  ORIENTADA  A  OBJETOS 3

Explicación

Eventos

¿Qué es un evento?

Dentro de la programación, podemos encontrar un segmento que se dirige a los


elementos conocidos como eventos, éstos son la base de una interfaz de
usuario que puede emplearse para desarrollar interfaces entre componentes de
software o módulos del núcleo.

La programación dirigida por eventos es un paradigma de programación en el


que la estructura y la ejecución de los programas se determinan por los sucesos
que ocurran dentro de un sistema. Cuando alguno de los eventos esperados por
el programa tienen lugar, el programa pasará a ejecutar el código del
correspondiente al evento.

Los eventos y las ejecuciones que se pueden realizar son cualquier tipo de
acción, es decir, el teclear, hacer clic, ejecutar alguna aplicación puede ser
determinado como un evento, la reacción que tendrá el código de ejecución
puede ser el iniciar la reproducción de un video, abrir un documento, señalar
alguna búsqueda o cualquier otra cosa.

Algunas de las propiedades de los eventos son las siguientes:


• Un evento puede tener varios suscriptores.
• El editor determina cuándo se produce un evento.
• Nunca se provocan eventos que no tienen suscriptores.
• Los eventos se usan para señalar acciones del usuario.
• Si un evento tiene varios suscriptores, se invocan los controladores de
eventos sincrónicamente.
• Dentro de .NET Framework, los eventos se basan en el delegado.
PROGRAMACIÓN  ORIENTADA  A  OBJETOS 4

En los eventos nos encontramos con varios tipos, los cuales determinan
funciones diferentes, esos son:

• Eventos secuenciales: este tipo de programación se basa en la creación


de programas a partir de un conjunto de sentencias escritas de manera
secuencial, de la cual su ejecución sigue con la misma secuencia.
• Eventos simultáneos: éstos son programas que pueden seguir de
manera simultánea y lograrse a través de mecanismos se software o
hardware.
• Eventos concurrentes: éste es un programa que tiene más de una línea
lógica de ejecución, en éste parece que las varias partes del programa se
ejecutan al mismo tiempo.

Multihilado

¿Qué es un hilo?

Un hilo puede comprenderse como un proceso, éste puede ser realizado por el
procesador, la aplicación o el hardware, los estados de un hilo son:

• Nuevo: el hilo ha sido creado pero aún no ha sido activado.


• Preparado: éste es el hilo ya activo y está a la espera de que se le asigne
la UCP.
• En ejecución: el hilo está activado y le ha sido asignada la UCP.
• Bloqueado: el hilo espera que otro elimine el bloqueo.
• Dormido: el hilo está bloqueado durante un tiempo determinado.
• Esperando: el hilo está en espera a que ocurra alguna cosa: condición,
operación de E/S o adquirir la propiedad de un objeto de sincronismo.
• Muerto: el hilo ha finalizado pero aun no ha sido recogido por su padre.

Cada que se crea un proceso, el sistema operativo crea un hilo primario. Para
muchos procesos éste es el único hilo necesario, un proceso puede crear otros
hilos para ayudarse en su trabajo, utilizando la capacidad completa del CPU.
PROGRAMACIÓN  ORIENTADA  A  OBJETOS 5

¿Qué es un multihilo?

Es cuándo el CPU de una computadora trabaja ofreciendo un máximo


rendimiento de su hardware, el uso de los sistemas multihilos permite trabajar un
número mayor de elementos al mismo tiempo o en su defecto trabajar sobre una
sola aplicación, la cual requiere de una alta capacidad de procesamiento;
algunos software que requieren de este tipo de procesamiento multihilo son los
dirigidos al diseño de elementos 3D, programas de diseño, programas de edición
de video, entre otros.

También se utiliza el procesamiento multihilo al realizar varias tareas al mismo


tiempo, ya sea trabajar sobre un documento de texto, escuchar música,
reproducir un video o cualquier grupo de elementos trabajando en conjunto.

Los hilos de procesamiento también pueden ser conocidos como thread, como
se ha mencionado anteriormente, éstos determinan el flujo de control de una
determinada estructura de datos dentro de un equipo, la diferencia que tiene con
un proceso multihilo es que dentro de una misma aplicación éstos pueden
compartir los mismos datos.

Con el uso de multihilos se mejora el rendimiento interactivo y se tiene un mejor


comportamiento del sistema en tiempo real, esto agrega una mejor estabilidad
del sistema y permite realizar varias ejecuciones simultáneamente sin correr el
riesgo de que el sistema colapse.

El utilizar un multihilo no garantiza que todo saldrá bien, esto se ve determinado


de igual manera por el sistema operativo con que se trabaje, ya que también se
consideran los elementos gráficos y de funciones disponibles dentro del sistema
para los procesos multihilos; es decir, si el sistema presenta una apariencia de
muchas ventanas, muchos elementos visibles y disponibles en primera instancia
para el usuario, lo que sucede es que varios procesos están en espera de que
estos elementos reciban algún evento.
PROGRAMACIÓN  ORIENTADA  A  OBJETOS 6

Para estos también se utilizan complementos adicionales en los sistemas de


cómputo, tales como el agregar más memoria RAM, mejorar el disco duro,
agregar más memoria de control de gráficos, entre otras cosas.

Los hilos de ejecución se organizan por grupos o aplicaciones, es decir, éstos no


se encuentran en todos lados en espera de cualquier evento, sino que
mantienen su propio espacio de direcciones y entorno de operaciones, los hilos
dependen de un programa padre que los administra y considera como recursos
de ejecución. Los atributos de los hilos son importantes de conocer y diferenciar
de sus estados, éstos son:

• Dirección de stack: se refiere al apuntador del stock del hilo.


• Tamaño de dirección: es la longitud del stock del hilo.
• Alcance: también conocido como scope, define quién controla la
ejecución del hilo: el proceso o núcleo del sistema operativo.
• Herencia: se heredan los parámetros de calendarización o se definen
localmente.
• Política de calendarización: define el proceso a ejecutar y en que
instante.
• Prioridad: determina la importancia que se tendrá.

Podemos decir que, a mayor capacidad y núcleos de un procesador, mayor es la


cantidad de hilos de ejecución que podremos encontrar en un sistema.
PROGRAMACIÓN  ORIENTADA  A  OBJETOS 7

Conclusión

Los eventos son acciones que ayudan a activar los elementos dentro de un
sistema, éstos funcionan de una manera determinada por el programador y no
pueden ser modificados por el usuario a menos que configure el sistema y las
preferencias.

El uso de multihilos es importante dentro de los nuevos sistemas operativos, ya


sea para equipos de escritorio o dispositivos móviles, éstos permiten tener un
mejor trabajo y optimizar las posibilidades de rendimiento de los medios que se
utilicen, ofreciendo así a los usuarios un número mayor de posibilidades de
trabajo.

Es importante comprender que si nuestro sistema o equipo de trabajo es viejo,


las posibilidades de trabajar con aplicaciones nuevas se ve reducida, ya que
éstas requieren de un alto poder de procesamiento y un sistema multihilos más
fuerte que ayude a mejorar la experiencia de los usuarios y completar el trabajo
de la forma en que se espera.

Los eventos y los multihilos pueden ser programados para su ejecución o


determinar mediante código la manera en que funcionarán, por tanto siempre
debemos tener en cuenta la posibilidad de personalizar nuestro trabajo y el
rendimiento que deseamos del equipo en que trabajamos.
PROGRAMACIÓN  ORIENTADA  A  OBJETOS 8

Para aprender más

Eventos

Dentro de los eventos podemos encontrar los “eventos secuenciales”, los cuales
constan de las siguientes características.

Éstos son una forma de programación también conocida como programación


dirigida por eventos, consta de un paradigma de programación, éste es en
cuanto a su estructura de ejecución y la de programación y éstos van
determinados por los sucesos que ocurran en el sistema.

La sintaxis básica de definición de un evento consiste en definirlo como cualquier


otro campo con la única peculiaridad de que se le ha de anteponer la palabra
“event” al nombre de su tipo. Su sintaxis es la siguiente:

<modificadores>event<tipoDelegado><nombreEvento>;

Para el uso de eventos, existen restricciones de uso, éstas se ven definidas por
un sistema externo al tipo donde se han definido y éstos no son delegados sino
que el objeto delegado es el campo privado que internamente define el
compilador.

El modo de manejar estos eventos dentro de la programación se conoce como


emisor/receptor o despachador/escuchador.

Cada lenguaje utiliza un manejador de eventos diferente, por lo que permite


lanzar los eventos y crear los receptores que permiten el manejo de estos. Cada
evento es determinado por el programador y el lenguaje en que se desarrolla,
gracias a la gran variedad de sistemas y compatibilidad que se tiene entre éstos,
se pueden desarrollar eventos dentro de una plataforma y ser traducidos por otra.
PROGRAMACIÓN  ORIENTADA  A  OBJETOS 9

Multihilado

Los hilos corren en el mismo proceso, con esto tienen que acceder a cualquiera
de los recursos como las variables globales, manejadores, etc. Cada hilo tiene
su stack o pila, por tanto las variables locales de cada hilo son privadas, también
tienen la posibilidad de trabajar con grupos de registros privados, todo el manejo
de los hilos se realiza de manera interna por el sistema operativo.

Los hilos se pueden dividir en varias categorías, las cuales son las siguientes:

• Hilo de interface de usuario: éste crea su propia ventana y recibe


mensajes de la misma, tiene la capacidad de responder al usuario a
través de su propia ventana. Este hilo funciona por medio de la regla del
Mutex de Win16, el que permite sólo un hilo de interface de usuario en el
núcleo de usuario y gdi de 16 bit.
• Hilo obrero: este tipo de elemento no crea ninguna ventana, así que no
puede recibir ningún mensaje de ventana.

Pare tener un funcionamiento correcto entre los hilos de ejecución que estén
disponibles o funcionando en ese momento, se crean métodos de comunicación
entre ellos para tener un mejor control de las actividades, éstos son;

• Usar variables globales.


• Mensajes del sistema operativo.
• Eventos.

Los hilos comparten recursos de proceso, estos incluyen variables globales, por
lo que los hilos pueden usar este tipo de variables y lograr una comunicación
entre sí. La creación de multihilos puede ser definida por el usuario mediante el
uso de código, en el cual determina la posibilidad de aplicación de éstos dentro
de un software determinado, no siempre se realiza, ya que los sistemas
operativos controlan estos para un mejor rendimiento del equipo.
PROGRAMACIÓN  ORIENTADA  A  OBJETOS 10

Actividad de Aprendizaje

Instrucciones

Con la finalidad de reforzar los conocimientos adquiridos a lo largo de esta


sesión, ahora tendrás que realizar una actividad en la cual a través de una
ilustración indiques 10 eventos posibles para trabajar en un equipo de cómputo,
debes incluir una breve descripción de éstos.

Puedes realizarlo en cualquier programa, al final tendrás que guardarlo como


una imagen JPG, con la finalidad de subirlo a la plataforma de la asignatura.
PROGRAMACIÓN  ORIENTADA  A  OBJETOS 11

Bibliografía

• González J. (2006) Eventos. Consultado en:


http://www.devjoker.com/contenidos/catss/160/Eventos.aspx

• Iczelion´s. (s.f.) Programación multihilo. Consultado en:


http://www.angelfire.com/rnb/byte/tut15_es.html

• Microsoft. (2013) Eventos (Guía de programación de C#). Consultado en:


http://msdn.microsoft.com/es-es/library/awbftdfh.aspx

• s/a. (2010) Eventos en la programación Orientada a Objetos. Consultado


en: http://www.cristalab.com/programacion-orientada-objetos/eventos/

• s/a. (2013) Manejo de técnicas de programación. Consultado en:


http://manejodetecnicasdeprogramacionn.blogspot.mx/2013/04/programac
ion-dirigida-por-eventos-y.html

• s/a. (s.f.) Programación dirigida por eventos y control, eventos


secuenciales, multitarea y concurrente. Consultado en:
http://jmcc2.blogspot.mx/

• s/a. (s.f.) Tópicos selectos de programación. Consultado en:


http://topicos-selectosdeprogramacion-itiz.blogspot.mx/p/unidad-3-
programacion-concurrente.html

• Vázquez O., Hernández P., Sánchez L. (s.f.) Hilos y Multihilos.


Consultado en: http://capitulo-14.blogspot.mx/

Вам также может понравиться