Está en la página 1de 9

Materia: Programación Orientada a Objetos III

Docente: Guillermo Hernández García.


Semestre: 4.
Grupo: DS-DPO3-1801-B2-002.
Alumno: Daniel Pineda de la Riva.
Matricula: es162006588.
Unidad 2.
Actividad 2
Flujo Único y flujo Múltiple.
1. De los lineamientos enviados en archivo PDF, menciona 4 puntos que te
impactaron y describe por qué.

I. La programación de fechas para entrega de actividades se realizará considerando el


tiempo requerido para concluir cada unidad o etapa de la asignatura. El docente en línea
publicará las fechas correspondientes en la sección de anuncios y novedades; dentro del
apartado de planeación didáctica y realizará la notificación correspondiente a los
estudiantes del grupo mediante mensaje de correo electrónico institucional.

El docente en línea tiene la posibilidad de incluir, a manera de propuesta, la fechas de


entregas parciales o por término de actividad sin que ello implique disminuir la calificación
que otorgue a los estudiantes si la entrega se realiza al término de la unidad o etapa.

II. Es obligación del docente en línea actualizar las actividades propuestas, notificando a
los estudiantes y asesores académicos cuáles serán los cambios a realizar.

III. Si el docente en línea determina que un proyecto o actividad entregada pertenece a


una organización o empresa, solicitará al estudiante que presente por escrito la
autorización que le haya sido otorgada para el uso parcial o total de su producto con fines
de evaluación académica. Sin este requisito no aceptará dicho producto como evidencia
de aprendizaje y se anulará la calificación que hubiera obtenido.

IV. Es obligación y responsabilidad del estudiante revisar periódicamente los avisos,


anuncios e indicaciones que el docente en línea realice en las secciones de foros,
planeación didáctica, anuncios y novedades del AVA, por correo electrónico institucional u
otro medio de comunicación que se utilice con este fin.

Me llamaron la atención estos puntos porque las actividades que se realizan es la parte
clave para poder ir avanzando en nuestra materia que estemos estudiando, es importante
tener una programación de entrega y de revisión para que podamos ir realizando nuestras
actividades sin ningún problema.
2. Identifica los componentes y crea un diagrama de flujo, el flujo único y
múltiple de ejecución del submenú “Administrador, que realizaste en la
primera unidad.

Flujo único

Menú

Administrador

Marca

Modelo

Color

Placas

Valores
Declarados

Estado del
Vehículo

Guardar

Mostrar Archivo
Flujo múltiple

3. Realiza una investigación de los siguientes temas flujo múltiple y flujo único,
te solicito que realices ejemplificaciones de los temas.

Flujo Único

“Un programa de flujo único, tarea única o mono-hilo utiliza un único flujo de control para
controlar su ejecución. Muchos programas no necesitan la potencia o utilidad de múltiples
tareas. Sin necesidad de especificar explícitamente que se quiere un único flujo de
control.”

Un programa de flujo único o mono-hilvanado (single-thread) utiliza un único flujo de


control (thread) para controlar su ejecución. Muchos programas no necesitan la potencia o
utilidad de múltiples flujos de control. Sin necesidad de especificar explícitamente que se
quiere un único flujo de control, muchos de los applets y aplicaciones son de flujo único.
Por ejemplo, en la archiconocida aplicación estándar de saludo:

public class HolaMundo {

static public void main( String args[] ) {

System.out.println( "Hola Mundo!" );

Aquí, cuando se llama a main(), la aplicación imprime el mensaje y termina. Esto ocurre
dentro de un único hilo de ejecución (thread).

Debido a que la mayor parte de los entornos operativos no solían ofrecer un soporte
razonable para múltiples hilos de control, los lenguajes de programacion tradicionales,
tales como C++, no incorporaron mecanismos para describir de manera elegante
situaciones de este tipo. La sincronización entre las múltiples partes de un programa se
llevaba a cabo mediante un bucle de suceso único. Estos entornos son de tipo síncrono,
gestionados por sucesos. Entornos tales como el de Macintosh de Apple, Windows de
Microsoft y X11/Motif fueron diseñados en torno al modelo de bucle de suceso.

Flujo Multiple

En la aplicación de saludo, no se ve el hilo de ejecución que corre el programa. Sin


embargo, Java posibilita la creación y control de hilos de ejecución explícitamente. La
utilización de hilos (threads) en Java, permite una enorme flexibilidad a los programadores
a la hora de plantearse el desarrollo de aplicaciones. La simplicidad para crear, configurar
y ejecutar hilos de ejecución, permite que se puedan implementar muy poderosas y
portables aplicaciones/applets que no se puede con otros lenguajes de tercera
generación. En un lenguaje orientado a Internet como es Java, esta herramienta es vital.

Si se ha utilizado un navegador con soporte Java, ya se habrá visto el uso de múltiples


hilos en Java. Habrá observado que dos applets se pueden ejecutar al mismo tiempo, o
que puede desplazar la página del navegador mientras el applet continúa ejecutándose.
Esto no significa que el applet utilice múltiples hiloss, sino que el navegador es multihilo,
multihilvanado o multithreaded.
Los navegadores utilizan diferentes hilos ejecutándose en paralelo para realizar varias
tareas, "aparentemente" concurrentemente. Por ejemplo, en muchas páginas web, se
puede desplazar la página e ir leyendo el texto antes de que todas las imágenes estén
presentes en la pantalla. En este caso, el navegador está trayéndose las imágenes en un
hilo de ejecución y soportando el desplazamiento de la página en otro hilo diferente.

Las aplicaciones (y applets) multihilo utilizan muchos contextos de ejecución para cumplir
su trabajo. Hacen uso del hecho de que muchas tareas contienen subtareas distintas e
independientes. Se puede utilizar un hilo de ejecución para cada subtarea.

Mientras que los programas de flujo único pueden realizar su tarea ejecutando las
subtareas secuencialmente, un programa multihilo permite que cada thread comience y
termine tan pronto como sea posible. Este comportamiento presenta una mejor respuesta
a la entrada en tiempo real.

Vamos a modificar el programa de saludo creando tres hilos de ejecución individuales,


que imprimen cada uno de ellos su propio mensaje de saludo, MultiHola.java:

// Definimos unos sencillos hilos. Se detendrán un rato


// antes de imprimir sus nombres y retardos

class TestTh extends Thread {


private String nombre;
private int retardo;

// Constructor para almacenar nuestro nombre


// y el retardo
public TestTh( String s,int d ) {
nombre = s;
retardo = d;
}

// El metodo run() es similar al main(), pero para


// threads. Cuando run() termina el thread muere
public void run() {
// Retasamos la ejecución el tiempo especificado
try {
sleep( retardo );
} catch( InterruptedException e ) {
;
}

// Ahora imprimimos el nombre


System.out.println( "Hola Mundo! "+nombre+" "+retardo );
}
}

public class MultiHola {


public static void main( String args[] ) {
TestTh t1,t2,t3;

// Creamos los threads


t1 = new TestTh( "Thread 1",(int)(Math.random()*2000) );
t2 = new TestTh( "Thread 2",(int)(Math.random()*2000) );
t3 = new TestTh( "Thread 3",(int)(Math.random()*2000) );

// Arrancamos los threads


t1.start();
t2.start();
t3.start();
}
}

4. Redacta una descripción propia de por lo menos media cuartilla y menciona


la diferencia entre el flujo único y el múltiple sin copiar de ninguna fuente.

Flujo único: estos contienen las instrucciones que se van ejecutando conforme se van
llamando; estas instrucciones pueden estar en diferentes métodos, o clases, pero sólo se
van ejecutando de manera única conforme son llamadas. Utiliza un único flujo de control
(thread) para controlar su ejecución.

Flujo Múltiple: permite que se estén realizando diferentes tareas en un programa al


mismo tiempo; las tareas se ejecutan de forma paralela, para ello se utiliza unos
elementos llamados hilos (thread). Cada hilo realiza una tarea en específico, si se tienen
varios hilos ejecutándose, se tendrán varias tareas corriendo en el mismo programa.

5. Conclusiones. Explica con tus propias palabras sobre la codificación y


funcionalidad de la ejecución de la problemática.

El flujo único se utiliza cuando el programa es simple y no requiere completar más de una
tarea a la vez. El flujo múltiple se utiliza para operaciones que requieren una gran
cantidad de hilos ejecutándose al mismo tiempo.

Los flujos único y múltiple se aplican para que el programa realice varias actividades al
mismo tiempo, optimizando recursos y que la información que se introduce este
continuamente actualizada y lista para ser utilizada.

El uso de hilos es de mucha ayuda pero sin embargo es muy importante que se sepa
identificar en que momentos es necesario la utilización de hilos únicos y de hilos múltiples
ya que si no se utilizan de la manera correcta será perjudicial ya que puede afectar al
rendimiento del sistema.
6. Integra el desarrollo de tu actividad en un documento en Word con los siguientes
puntos

a. Carátula: “logotipo, nombre del estudiante, nombre del profesor, actividad,


unidad y fecha”. Índice, Introducción (media cuartilla), contenido de la tarea mínimo
5 cuartillas máximo no hay límites, conclusión media cuartilla. Todas las hojas
deben estar enumeradas, bibliografía en formato APA (por lo menos tres fuentes),
siempre deben agregar la actividad en las tareas.

b. Copiar y pegar de un documento de internet sin realizar las citas textuales


correspondientes a la actividad tendría cero y ya no habría oportunidad de que el
estudiante la vuelva a enviar.

7. Guarda tu actividad con la nomenclatura DPO3_U2_A1_XXYZ. Sustituye las XX por


las dos primeras letras de tu primer nombre, la Y por tu primer apellido y la Z por tu
segundo apellido.

8. Ingresa al Foro con subida de archivos y participa respondiendo a los planteamientos


que se indican a continuación por lo menos dos participaciones:

a. ¿Por qué es importantes la programación usando hilos, y si se programan varios


hilos en una aplicación mejora su rendimiento?

b. ¿Por qué son importantes el flujo único y el flujo múltiple en la aplicación del
proyecto que estás realizando?

c. Realiza una retroalimentación a la aportación de al menos dos de tus


compañeros.

d. Aporta tu conclusión correspondiente al tema de la actividad.

9. Espera y atiende la retroalimentación de tu facilitador correspondiente.

10. No olvides consultar la rúbrica que el facilitador te enviara ya que es la única


para tu calificación
Referencias

Froufe, A. (2009) Java 2 Manual de usuario y tutorial. (5ta Ed.). México: Alfaomega.

García, J. et all. (2000) Aprenda Java como si estuviera en primero. España: Tecnun.

Joyanes, L. (2002) Java 2 Manual de programación. México: MC Graw Hill

Martín, A. (2010) Programador certificado Java 2 curso práctico 3ra edición. México:
Alfaomega.

También podría gustarte