Concurrencia en.net David Jesús Horat Flotats
|
|
- Magdalena Castellanos Río
- hace 8 años
- Vistas:
Transcripción
1 Concurrencia en.net David Jesús Horat Flotats
2 ÍNDICE 1. Introducción n a.net 2. Sincronización n en.net 2.1 Contextos sincronizados 2.2 Método M Synchronized 2.3 Regiones de código c sincronizado 2.4 Sincronización n manual
3 1. Introducción n a.net Es un conjunto de tecnologías Su núcleo n es el CLR Common Language Runtime Entorno Común n de Ejecución Traduce de MSIL a Lenguaje MáquinaM Microsoft Intermediate Language Lenguaje Intermedio de Microsoft Similar a los ByteCodes de Java Compilador JIT (Just( In Time)
4 1. Introducción n a.net.net Framework Jerarquía a de objetos Independientes del lenguaje escogido Los lenguajes usan el.net Framework y compilan a MSIL, por lo cual son independientes de la plataforma.net Framework en Windows Mono en Linux
5 1. Introducción n a.net Visual Basic.NET Sintaxis de VB adaptada y mejorada para usar.net Framework Es el que usaremos para los ejemplos C++ C# Nuevo lenguaje de programación C++ mejorado? Definición n abierta y compilador gratuito
6 2. Sincronización n en.net Contextos sincronizados Se puede utilizar el atributo SynchronizationAttribute para habilitar la sincronización n automática tica y simple de objetos ContextBoundObject Método Synchronized Algunas clases proporcionan una propiedad Synchronized que devuelve un contenedor seguro para subprocesos a una instancia de la clase Monitor
7 2. Sincronización n en.net Regiones de código c sincronizado Podemos usar la clase monitores para sincronizar partes concretas de códigoc Sincronización n manual Podemos utilizar varios objetos de sincronización para crear mecanismos de sincronización n propios
8 2.1 Contextos sincronizados Un contexto es un conjunto de propiedades o reglas sintácticas que definen el entorno donde reside una colección n de objetos Las reglas se aplican cuando los objetos entran o salen de un contexto Los contextos se crean durante la activación n de los objetos
9 2.1 Contextos sincronizados Para que un clase esté en un contexto, debe heredar ContextBoundObject Cuando se aplica el atributo SynchronizationAttribute a un objeto, sólo s se puede estar ejecutando un subproceso en todos los contextos que compartan una instancia de esta propiedad
10 2.1 Contextos sincronizados Visual Basic <Synchronization()> Public Class Ejemplo Inherits ContextBoundObject Public Function Cuadrado (i as integer) as integer Return i * i End Function End Class C# [Synchronization()] public class SampleSyncronized : ContextBoundObject { public int Cuadrado (int i) { return i * i; } }
11 2.1 Contextos sincronizados Sincronización n completa de la clase mediante la serialización de la entrada a dicho objeto Falta de eficiencia, ya que posiblemente estemos sincronizando partes que no hacían an falta No se recomienda está práctica para usuarios expertos
12 2.2 Método M Synchronized Algunas clases del espacio de nombres System.Collections proporcionan un método m Synchronized que devuelve un contenedor seguro para subprocesos a una instancia de la clase Monitor Hashtable Queue
13 2.2 Método M Synchronized Visual Basic Imports System Imports System.Collections Public Class SamplesHashtable Public Shared Sub Main() Dim myht As New Hashtable() ' Creamos un HashTable Creamos un envoltorio sincronizado sobre el mismo HashTable Dim mysyncdht As Hashtable = Hashtable.Synchronized(myHT) Visualizamos en pantalla If mysyncht.issynchronized Then Console.WriteLine( mysyncdht está sincronizado ) Else Console.WriteLine( mysyncdht no está sincronizado ) End If End Sub End Class
14 2.2 Método M Synchronized Si la colección n que queremos usar no implementa el método m Synchronized,, podemos derivar la clase e implementar un método m Synchronized utilizando la propiedad SyncRoot La clase Array no se pueden derivar, por lo que el único método m para sincronizarla es un usando monitores
15 2.3 Regiones de código c sincronizado System.Threading.Monitor La clase Monitor proporciona un mecanismo que sincroniza el acceso a los objetos Características principales: Está asociada a un objeto a petición Se puede llamar desde cualquier contexto No se puede crear una instancia de Monitor
16 2.3 Regiones de código c sincronizado System.Threading.Monitor void Enter (object) void Exit (object) bool TryEnter (object) bool Wait (object) void Pulse (object( object) void PulseAll (object)
17 2.3 Regiones de código c void Enter (object) sincronizado Adquiere el cerrojo del objeto void Exit (object) Libera el cerrojo del objeto bool TryEnter (object) Intenta adquirir el cerrojo del objeto y devuelve verdadero si lo consiguió y falso si no lo consiguió
18 2.3 Regiones de código c sincronizado bool TryEnter (object, int) Intenta adquirir el cerrojo del objeto durante un cierto tiempo (int( int) ) especificado en segundos y devuelve verdadero si lo consiguió y falso si no lo consiguió bool TryEnter (object, TimeSpan) Intenta adquirir el cerrojo del objeto durante un periodo de tiempo especificado en TimeSpan y devuelve verdadero si lo consiguió y falso si no lo consiguió
19 2.3 Regiones de código c bool Wait (object) sincronizado Libera el bloque del objeto y se pone a la espera Devuelve true si consigue salir del bloqueo bool Wait (object, int) Int = tiempo en segundos bool Wait (object, TimeSpan) TimeSpan = periodo de tiempo
20 2.3 Regiones de código c void Pulse (object( object) sincronizado Notifica a un proceso de la cola de espera de Object para que se despierte void PulseAll (object) Notifica a todos los procesos de la cola de espera de Object para que se despierten
21 2.3 Regiones de código c sincronizado Podemos usar palabras clave que simulan monitor.enter y monitor.exit C# VB Lock (Object)) { Bloque de código c } SyncLock (Object) Bloque de códigoc End SyncLock
22 2.4 Sincronización n manual System.Threading.Thread Constructor (ThreadStart( ThreadStart) Hay que pasarle la referencia al método m que quiere ejecutarse Start () Cambia el estado del hilo a ejecutando Abort () Finaliza el subproceso Suspend () Suspende el hilo Resume () Reanuda un proceso que ha sido suspendido
23 2.4 Sincronización n manual System.Threading.Thread Sleep (int/timespan) Suspende el hilo durante un tiempo determinado Si es 0, simplemente hace un Yield en la CPU Si es infinite que bloqueado indefinidamente Interrupt () Interrumpe un proceso que se encuentra en Wait, Sleep o Join causando una excepción Join () Bloque el subproceso que lo llama, hasta que el hilo llamado haya terminado
24 2.4 Sincronización n manual System.Threading.Mutex Semáforo binario WaitOne () Bloquea el subproceso actual Podemos usar (int( int) ) y (TimeSpan( TimeSpan) ReleaseMutex () Despierta un subproceso El subproceso que tiene la exclusión mútua puede ejecutar N veces WaitOne,, pero deberá ejecutar también n N veces ReleaseMutex para liberarla
25 2.4 Sincronización n manual System.Threading.Interlocked Proporciona operaciones atómicas para las variables compartidas por varios subprocesos int/long Increment (int/long) Incrementa el valor de una variable y devuelve el valor incrementado int/long Decrement (int/long) Decrementa el valor de una variable y devuelve su valor decrementado
26 2.4 Sincronización n manual System.Threading.Interlocked int Exchange (inta( inta, intb) inta = intb y devuelve inta También n con object y con single int CompareExchange (inta, intb, intc) Si (inta( == intc) ) entonces inta = intb Devuelve inta También n con object y con single
27 2.4 Sincronización n manual System.Threading.ReaderWriteLock Bloque que admite un escritor o varios lectores usando el recurso Evita la inanición n de ambos AcquireReaderLock (int) ReleaseReaderLock () AcquireWriterLock (int) ReleaseWriterLock ()
28 2.4 Sincronización n manual System.Threading.ReaderWriteLock LockCookie ReleaseLock () Libera el cerrojo independientemente de quien las veces que haya sido adquirido LockCookie UpgradeToWriteLock (int) Actualiza un bloque de lectura a uno de escritura DowngradeFromWriteLock (LockCookie) Restaura el estado de bloqueo que tenía a antes un escritor en LockCookie RestoreLock (LockCookie) Restaura el estado de bloqueo de LockCookie
29 2.4 Sincronización n manual System.Threading.ThreadPool Permite agrupar subprocesos System.Threading.Timer Temporizador que permite ejecutar una tarea a intervalos y especificar un tiempo para la primera ejecución
CDI Exclusión mutua a nivel alto. conceptos
conceptos El concepto de usar estructuras de datos a nivel alto libera al programador de los detalles de su implementación. El programador puede asumir que las operaciones están implementadas correctamente
Más detallesConcurrencia. Primitivas IPC con bloqueo
Concurrencia Primitivas IPC con bloqueo Primitivas de IPC con bloqueo La solución de Peterson es correcta, pero tiene el defecto de requerir espera ocupada: Cuando un proceso quiere entrar en su región
Más detallesBenemérita Universidad Autónoma del Estado de Puebla
Benemérita Universidad Autónoma del Estado de Puebla Facultad de Cs. De la Computación Programación Concurrente y Paralela Práctica de Laboratorio No. 5 Profr: María del Carmen Cerón Garnica Alumno: Roberto
Más detallesObject 1. Threads en Java
Object 1 Threads en Java Introducción En este artículo voy a explicar cómo se usan los threads en Java (también traducidos como "hilos de ejecución"). La intención no es solamente explicar cuáles son las
Más detalles1 HILOS (THREADS) EN JAVA
1 HILOS (THREADS) EN JAVA 1.1QUÉ ES UN THREAD La Máquina Virtual Java (JVM) es un sistema multihilo. Es decir, es capaz de ejecutar varios hilos de ejecución simultáneamente. La JVM gestiona todos los
Más detallesMensajes. Interbloqueo
CONCURRENCIA DE PROCESOS Preparado por: Angel Chata Tintaya (angelchata@hotmail.com) Resumen Los procesos comparten variables globales, comparten y compiten por recursos, se ejecutan simultáneamente intercalándose
Más detallesIntroducción al.net Framework. Introducción al.net Framework. Diseño Basado en Componentes. Curso 2008 / 09. Diseño Basado en Componentes
Introducción al.net Framework Diseño Basado en Componentes Introducción al.net Framework Arquitectura.NET Herramientas, lenguajes y tecnologías.net.net Framework Ingeniería Informática Universidad Carlos
Más detallesThreads o Hilos. Marco Besteiro y Miguel Rodríguez
En.NET, cuando se lanza una aplicación se crea un proceso y dentro de este proceso un hilo de ejecución o thread para el método Main. Es posible, a la vez que se ejecuta el método Main, que la aplicación
Más detallesConcurrencia en Java
Concurrencia en Java Herramientas proporcionadas por Java La Máquina Virtual (JVM) Pedro Pablo Gómez Martín La clase Thread Clase principal con la que conseguir concurrencia. La llamada a su método start()
Más detallesProgramación Concurrente en Java
Hebras y monitores Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid 21 de marzo de 2006 Threads Extendiendo la clase java.lang.thread. public class PrThread extends
Más detallesPROGRAMACIÓN CONCURRENTE. Tema 5 Monitores
PROGRAMACIÓN CONCURRENTE Tema 5 Monitores 1 Indice Definición de los monitores Sincronización condicional usando monitores Algunos problemas con monitores 2 Problemas de las regiones críticas condicionales
Más detallesRESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA
UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí
Más detalles1: La plataforma.net (.NET Framework)
Programació amb C#.NET Jordi Linares i Pellicer 1: La plataforma.net (.NET Framework) Índice! Introducción! Características de.net! Componentes.NET! Plataforma.NET! Ejemplo Introducción! Microsoft.NET
Más detallesIntroducción a la programación orientada a objetos
Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación
Más detallesBenemérita Universidad Autónoma del Estado de Puebla
Benemérita Universidad Autónoma del Estado de Puebla Facultad de Cs. De la Computación Programación Concurrente y Paralela Práctica de Laboratorio No. 4 Profr: María del Carmen Cerón Garnica Alumno: Roberto
Más detallesJava nos ofrece la clase Thread y la interfaz Runable que permiten que varios procesos estén funcionando de forma concurrente.
Threads (hilos) Java nos ofrece la clase Thread y la interfaz Runable que permiten que varios procesos estén funcionando de forma concurrente. Conceptos: Proceso (thread o hilo): es un programa en ejecución
Más detallesImplementación de monitores POSIX
Implementación de monitores POSIX Ampliación de Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Programación concurrente: Problemática Presencia de condiciones de
Más detallesManual del Modelizador. 28 de enero de 2009
Índice de contenidos Introducción... 1 Proceso de ejecución de modelos... 1 Origen de datos... 3 Detalles técnicos... 3 Lenguaje de programación... 3 Estructura de los modelos... 3 Biblioteca de clases...
Más detallesModulo 1 El lenguaje Java
Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto
Más detallesConcurrencia: Exclusión mutua y Sincronización
Concurrencia: Exclusión mutua y Sincronización Prof. Carlos Figueira Basado en materiales de Yudith Cardinale (USB) Williams Stallings, Eugene Styer Concurrencia Múltiples aplicaciones Aplicaciones estructuradas
Más detallesObjetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.
Sesión 03: Lenguajes web del servidor Competencias a Conseguir: - Conocer el entorno de trabajo a nivel de servidores web. - Instalación del localhost (Servidor Local). - Repaso general de PHP y ejercicios
Más detallesProgramación Orientada a Eventos
Programación Orientada a Eventos Técnicas de Programación Santiago Pavón V:2012.03.13 Programas Secuénciales El flujo de ejecución del programa sigue la secuencia de sentencias que lo forman. El estado
Más detallesTema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle
Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión
Más detallesRepaso de las características más importantes de la programación Java y su adaptación a Android
Repaso de las características más importantes de la programación Java y su adaptación a Android 1. Entorno de programación en java 2. Variables y tipos de datos 3. Operaciones y operadores 4. Clases y
Más detallesProgramación III. 1. Facultad: Ingeniería Escuela: Computación Asignatura:Programación III I. OBJETIVOS II. INTRODUCCIÓN TEÓRICA
Programación III. 1 Facultad: Ingeniería Escuela: Computación Asignatura:Programación III GUIA1: Uso de C# modo consola. I. OBJETIVOS Qué el estudiante: Conozca el lenguaje de programación Visual C#.Net
Más detallesReceta general para resolver problemas de sincronización con semáforos
Receta general para resolver problemas de sincronización con semáforos La primera vez que te enfrentas a la tarea de implementar una solución a un problema de sincronización entre procesos, es normal que
Más detallesun programa concurrente
Introducción un programa concurrente asumimos que tengamos un programa concurrente que quiere realizar acciones con recursos: si los recursos de los diferentes procesos son diferentes no hay problema,
Más detallesHilos, comunicación y competencia entre procesos. Dr. Alonso Ramírez Manzanares 2-Sep-2010
Hilos, comunicación y competencia entre procesos Dr. Alonso Ramírez Manzanares 2-Sep-2010 Implementación de procesos Se mantiene una tabla de procesos con una entrada por cada proceso: Con lo cual tenemos
Más detallesHERRAMIENTAS DE DESARROLLO
CONTENIDO 3.1 Estudio de herramientas para el desarrollo de Servicios Web 3.2 Compatibilidad de Herramientas integradas a.net 3.3 Ventajas y desventajas de la integración de código.net MONICA CECILIA GALLEGOS
Más detallesConcurrencia: deberes. Concurrencia: Exclusión Mutua y Sincronización. Concurrencia. Dificultades con la Concurrencia
Concurrencia: deberes Concurrencia: Exclusión Mutua y Sincronización Capítulo 5 Comunicación entre procesos Compartir recursos Sincronización de múltiples procesos Asignación del tiempo de procesador Concurrencia
Más detallesSistemas Operativos Práctica 4
Sistemas Operativos Práctica 4 Ing. Andrés Bustamante afbustamanteg@unal.edu.co Ingeniería de Sistemas Facultad de Ingeniería Universidad de la Amazonia 2009 1. Objetivo El objetivo de la práctica es que
Más detallesHilos en Java. Crear un Hilo. Detener un hilo. Fuente: http://www.chuidiang.com/java/hilos/hilos_java.php
Fuente: http://www.chuidiang.com/java/hilos/hilos_java.php Hilos en Java A veces necesitamos que nuestro programa Java realice varias cosas simultáneamente. Otras veces tiene que realizar una tarea muy
Más detallesJava y JVM: programación concurrente
Java y JVM: programación concurrente Adolfo López Díaz Escuela de Ciencias de la Computación e Informática. Universidad de Costa Rica Resumen: El lenguaje de programación Java proporciona, sin necesidad
Más detallesTÈCNICO EN PROGRAMACIÒN DE SOFTWARE SERVICIO NACIONAL DE APRENDIZAJE, SENA Material de Apoyo Plataforma.NET LA PLATAFORMA.NET
LA PLATAFORMA.NET La plataforma.net de Microsoft está diseñada para que se puedan desarrollar componentes software utilizando casi cualquier lenguaje de programación, de forma que lo que escribamos en
Más detallesExcepciones. Gonzalo Méndez - Dpto. Ingeniería de Software e Inteligencia Artificial. Excepciones
Programación Orientada a Objetos en Java Curso 2006-2007 Tema 6 Excepciones Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Qué son? Excepciones
Más detalles1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)
1. : La clase Cuenta. Uso de la clase Cuenta 3. Métodos y objetos receptores de mensajes (Importante) 1 Una clase para cuentas de un banco Vamos a modelar con una clase, un nuevo tipo de datos, donde los
Más detalles3.9 Patrón Distributed callback
3.9 Patrón Distributed callback Motivación (1) Queremos que la aplicación de administración de los termostatos Monitorize la temperatura de algunos termostatos, avisándonos si ésta baja o sube por encima
Más detallesLas propiedades de la clase en java es el equivalente a las variables globales en lenguajes estructurados como el C.
EJERCICIO GUIADO. JAVA: VARIABLES GLOBALES Variables Globales / Propiedades de la Clase Las propiedades de la clase en java es el equivalente a las variables globales en lenguajes estructurados como el
Más detallesContenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE
Contenidos 1. Introducción 2. El operador NEW 3. El operador DELETE 1 Introducción Hasta ahora hemos visto que cada vez que queremos usar una variable debemos reservarle un lugar de la memoria al comenzar
Más detallesPROGRAMACIÓN EN JAVA
SISTEMAS INFORMÁTICOS INDUSTRIALES curso 2007-2008 PROGRAMACIÓN EN JAVA PRÁCTICA 3: Comunicación entre tareas. Modelo productor / consumidor. Objetivos Implementar una aplicación en Java en la que existan
Más detalles1 (2 5 puntos) Responda con brevedad y precisión a las siguientes preguntas:
Universidad de Las Palmas de Gran Canaria Escuela Universitaria de Informática Facultad de Informática Sistemas Operativos Examen parcial, 11 de mayo de 2002 SOLUCIONES Calificación 1 2 3 4 5 1 (2 5 puntos)
Más detallesFUNDAMENTOS DE PROGRAMACION CON C#
Capítulo 1 FUNDAMENTOS DE PROGRAMACION CON C# El lenguaje C# C# (léase, en inglés C sharp, y en español C almohadilla) es un lenguaje de programación que permite el desarrollo de aplicaciones para Internet,
Más detallesHerramientas Concurrentes en JAVA
Herramientas Concurrentes en JAVA David Jesús Horat Flotats ÍNDICE 1. Introducción n a Java 2. Herramientas Concurrentes en Java 3. Lectores Escritores (2º) 4. Filósofos comensales 5. Chat usando RMI 6.
Más detalles8. Sentencia return y métodos
92 A. García-Beltrán y J.M. Arranz 8. Sentencia return y métodos Objetivos: a) Describir el funcionamiento de la sentencia return b) Interpretar el resultado de una sentencia return en el código fuente
Más detallesTema 3. Monitores Programación Concurrente
Tema 3. Monitores Programación Concurrente Depto. de Lenguajes y Sistemas Informáticos Universidad de Granada Contenidos 1. Concepto de Monitor 1.1. Fundamento teórico de los monitores 1.2. Sintaxis de
Más detallesHerencia. 3.- Herencia. Declaración de una clase derivada en Delphi. Jerarquía de clases
Herencia 3.- Herencia La herencia nos permite definir datos y métodos que son generales (comunes a distintas clases) por separado de las que son particulares a cada clase. Esto se logra definiendo lo que
Más detallesLenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2
Objetivos Herencia. Utilización de interfaces y clases abstractas. Índice 1. Interfaces 1 2. Clases abstractas 2 3. Collections Framework 3 3.1. Collection........................................... 3
Más detallesCOPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA
COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA Autor: Carlos Javier Martín González. Licenciado en Física Teórica por la Universidad Autónoma de Madrid. Analista programador y funcional. Desarrollador
Más detallesTema 1. Introducción a JAVA
Tema 1. Introducción a JAVA Historia Características Plataforma Java Entorno de desarrollo Ejemplo: Hola mundo Estructura general de un programa Java 1 Historia de Java (i) Surge en 1991: Sun Microsystems
Más detallesSISTEMAS OPERATIVOS AVANZADOS
SISTEMAS OPERATIVOS AVANZADOS TEMA 3 CLAVE: MIS 204 PROFESOR: M.C. ALEJA DRO GUTIÉRREZ DÍAZ 3. PROCESOS CONCURRENTES 3.1 Conceptos de programación concurrente 3.2 El problema de la sección crítica 3.3
Más detallesMemoria compartida y semáforos r/w. La página del manual que podría servir para describir estas funciones es la siguiente:
(3 ptos) Memoria Compartida y Semáforos R/W 1. Objetivo En esta práctica se pretende crear una librería que dé la funcionalidad de un semáforo para resolver problemas con múltiples lectores y escritores
Más detallesSincronización del Servidor.
Sincronización del Servidor. Versión 1.0 03/05/05 Fecha Jose Autor Manuel Viejo Lobato http://ars.viejolobato.com Página 1 de 5 Índice. 1. Introducción... 3 2. Búsqueda de elementos de workflow por nombre....
Más detallesGESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)
APRENDERAPROGRAMAR.COM GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I
Más detallesJava: Programación Multithread
Qué es un thread? Java: Programación Multithread Hasta el momento hemos desarrollado programas secuenciales con un único thread: en cualquier instante durante la ejecución de un programa hay un único punto
Más detallesSOLUCION EXAMEN junio 2006
SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los
Más detallesUso de excepciones en Java
Uso de excepciones en Java En Java, cuando se produce un error en un método, se lanza un objeto Throwable. Cualquier método que haya llamado al método puede capturar la excepción y tomar las medidas que
Más detalles4994 Introduction to Programming Microsoft.NET Framework Applications with Microsoft Visual Studio 2005
4994 Introduction to Programming Microsoft.NET Framework Applications with Microsoft Visual Studio 2005 Introducción Este curso de cinco días impartido por instructor permite a desarrolladores de nivel
Más detallesIntroducción al lenguaje Java
Tipo de entrega: Fecha límite: Lugar: Introducción al lenguaje Java por grupos de prácticas sesión de laboratorio Atenea Objetivos de la práctica: Escribir aplicaciones simples en Java Utilizar el entorno
Más detallesCurso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos
Más detallesCurso de Python Inicial
Logo IAA-CSIC Curso organizado por el Gabinete de Formación del CSIC Curso de Python Inicial Clases Contenidos 1. Paradigmas de la Programación 2. Programación Orientada a objetos 3. Clases 4. Objetos
Más detallesPROGRAMACION CONCURRENTE Y DISTRIBUIDA. II.5 Sincronización basada en memoria compartida: Monitores
PROGRAMACION CONCURRENTE Y DISTRIBUIDA II.5 Sincronización basada en memoria compartida: Monitores J.M. Drake 1 Monitor Son módulos que encierran los recursos o variables compartidas como componentes internos
Más detallesPruebas de unidad con JUnit
Pruebas de unidad con JUnit Cuando se implementa software, resulta recomendable comprobar que el código que hemos escrito funciona correctamente. Para ello, implementamos pruebas que verifican que nuestro
Más detallesEXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011
EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 1. (0,75 PUNTOS) Identificad a continuación las sentencias que son ciertas, descartando
Más detallesSOLUCION PARCIAL TASK SCHEDULER. Task Scheduler
Task Scheduler Se necesita modelar una aplicación que permita definir tareas y ejecutarlas en forma programada. Las tareas pueden ser: La ejecución de programa cualquiera o comando del sistema operativo,
Más detallesMONITORES EN JAVA. Antonio Tomeu Control de la Concurrencia en Java: API Estándar
MONITORES EN JAVA Un monitor es un objeto que implementa acceso bajo e.m. a todos sus métodos, y provee sincronización En Java, son objetos de una clase cuyos métodos públicos son todos synchronized Un
Más detallesCAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS
CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS 4.1 Antecedentes históricos El lenguaje de programación BASIC (Beginner's All purpose Symbolic Instruction Code)
Más detallesGenerics y Visual Basic.NET
Por Guillermo Guille Som Visual Basic MVP desde 1997 www.elguille.info Generics y Visual Basic.NET Es mucho lo que se ha escrito (y seguramente se seguirá escribiendo) sobre esta nueva característica de
Más detallesConcurrencia en Android LSUB, GYSC, URJC
Concurrencia en Android LSUB, GYSC, URJC Repaso de concurrencia en Java Crear un thread Instanciar un Thread, con el método run sobreescrito Intanciar un objeto que cumpla el interfaz Runnable y pasárselo
Más detallesUtilidades de la base de datos
Utilidades de la base de datos Desde esta opcion del menú de Access, podemos realizar las siguientes operaciones: Convertir Base de datos Compactar y reparar base de datos Administrador de tablas vinculadas
Más detallesEscuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática
Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática Fundamentos de la informática 2. Algoritmos, diagramas de flujo y pseudocódigo Contenido Algoritmos Diagramas de flujo
Más detallesTEMA 5: Control de la Concurrencia en Java (API Estándar)
TEMA 5: Control de la Concurrencia en Java (API Estándar) CONTENIDO Exclusión Mutua con código synchronized. Exclusión Mutua con métodos synchronized. Protocolos de Control de la Exclusión Mutua. Interbloqueos
Más detallesTitulación: Ingeniero Técnico en Informática de Gestión Curso: 2º
1. Ejercicio (1 punto) Dado el array A={8, 3, 7, 1, 4, 9, 5, 2, 6 Describir cual es el estado del array A después de cada paso principal del algoritmo: InsertionSort. {8, 3, 7, 1, 4, 9, 5, 2, 6 {3, 8,
Más detallesPráctica 2: El problema de la sección crítica
Práctica 2: El problema de la sección crítica Programación de Sistemas Concurrentes y Distribuidos Grado de Ingeniería Informática Dpto. de Informática e Ingeniería de Sistemas, Escuela de Ingeniería y
Más detallesProyecto MONO. Juantomás García. 1. Introducción. GNOME Hispano juantomas@lared.es
Juantomás García GNOME Hispano juantomas@lared.es Qué es el proyecto MONO?. Estado actual del proyecto. Por qué es interesante para el software libre disponer de la tecnología relacionado con el proyecto
Más detallesCAPÍTULO 2 INTERFASE VISUAL BASIC 6.0
CAPÍTULO 2 INTERFASE VISUAL BASIC 6.0 El dispositivo que mide el nivel del agua necesita una interfase sencilla para el usuario, amigable y sin rutinas difíciles de entender, haciendo de esta manera una
Más detallesALGORITMICA Y PROGRAMACION POR OBJETOS I
ALGORITMICA Y PROGRAMACION POR OBJETOS I Nivel 2 Definiendo situaciones y manejando casos Marcela Hernández Hoyos Qué vamos a aprender en este nivel: Diferencia entre clase y objeto Modelar características
Más detallesPROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTE II.3 Sincronización basada en memoria compartida: Semáforos J.M. Drake 1 Procesos concurrentes y memoria compartida. Si los diferentes procesos de un programa concurrente tienen
Más detallesSensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.
Sensor de Temperatura utilizando el Starter Kit Javelin Stamp Realizado por: Bertha Palomeque A. Rodrigo Barzola J. INTRODUCCION DIFERENCIAS EJEMPLOS JAVA Orientado a Objetos Multiplataforma Programar
Más detallesHebras y Sincronización en Java
Hebras y Sincronización en Java Jonathan Makuc http://jmakuc.ublog.cl Noviembre 2008 Tópicos: 1. Introducción a hebras en Java...2 2. Hebras a través del clase Thread...3 3. Hebras a través de la interfaz
Más detallesProgramación Concurrente y Paralela. P(S) ; sección crítica P(S);
2.5.2 Monitores Los semáforos, a pesar de su sencillez de uso, son el equivalente a las instrucciones goto y el manejo de apuntadores en los lenguajes de programación imperativos: son muy susceptibles
Más detallesJava en 2 horas. Rodrigo Santamaría
+ Java en 2 horas Rodrigo Santamaría + Generalidades 2 Desarrollado por Sun en 1995 Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas a bytecode Gestión
Más detallesConcurrencia entre Procesos.
Concurrencia entre Procesos. Sistemas Operativos Tema 3. 1 Procesamiento concurrente. Procesamiento concurrente: base de los sistemas operativos modernos (multiprogramados): Un conjunto de procesos que
Más detalles.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...
.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS Definiciones...2 C# y Java.....3 Similitudes...4 Ventajas...4 Definiciones Sobre J2EE J2EE (Java 2 Platform Enterprise Edition)
Más detallesConcurrencia. Bibliografía: Introducción a los Sistemas de Bases de Datos Date, C.J.
Concurrencia Bibliografía: Introducción a los Sistemas de Bases de Datos Date, C.J. Concurrencia La mayor parte de los DBMS son sistemas para múltiples usuarios Se permite a cualquier cantidad de transacciones
Más detallesIII. ADMINISTRACIÓN DE ORACLE.
III. ADMINISTRACIÓN DE ORACLE. 1.- Qué es Oracle? Qué hace un Administrador? 2.- Herramientas de ORACLE. 3.- Características. 4.- Arquitectura. 4.1.- Componentes de la BD. 4.2.- Estructura de la memoria.
Más detallesTipos de variables en Visual Basic (integer, single, double, string, object, etc.). Ejemplos. (CU00308A)
aprenderaprogramar.com Tipos de variables en Visual Basic (integer, single, double, string, object, etc.). Ejemplos. (CU00308A) Sección: Cursos Categoría: Curso Visual Basic Nivel I Fecha revisión: 2029
Más detallesEn cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
Más detallesJava Inicial (20 horas)
Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción
Más detallesCapítulo 1 Introducción a la Computación
Capítulo 1 Introducción a la Computación 1 MEMORIA PRINCIPAL (RAM) DISPOSITIVOS DE ENTRADA (Teclado, Ratón, etc) C P U DISPOSITIVOS DE SALIDA (Monitor, Impresora, etc.) ALMACENAMIENTO (Memoria Secundaria:
Más detallesComunicación con la Computadora
Comunicación con la Computadora Programación Básica Copyright CARIMOBITS Comunicación con la computadora Se logra a través de lenguajes de computadoras o lenguajes de programación. Tipos de lenguajes de
Más detallesSeñal de petición de Interrupción
Consideren una tarea que require tomar caracteres desde un teclado y mostrarlos en la pantalla de un monitor. La tasa de transferencia desde un teclado a un computador está limitado por la velocidad del
Más detallesINTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS EN VISUAL BASIC.NET
Programación Orientada a Objetos mayo, 2003 INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS EN VISUAL BASIC.NET Tomás Montero Ripoll Raúl del Nogal Sánchez Departamento de Informática y Automática Universidad
Más detallesConcurrencia en Java
Concurrencia en Java Concurrencia y Distribución Programación Avanzada Posgrado en Ciencia e Ingeniería de la Computación, UNAM 1. El mecanismo de threads Una aplicación Java o applet puede contener secciones
Más detallesDefinición de clases: Herencia, polimorfismo, ligadura dinámica
Tema 7 Definición de clases: Herencia, polimorfismo, ligadura dinámica Con alguna frecuencia es necesario definir clases de objetos entre las cuales hay elementos comunes. En una aplicación en la cual
Más detallesCATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO
CATÁLOGO MANUAL DE USUARIO CATÁLOGO MANUAL DE USUARIO CATÁLOGO MANUAL DE USUARIO 1. CATÁLOGO MANUAL DE USUARIO CATÁLOGO AHORA CATÁLOGO MANUAL DE USUARIO 1 1. Introducción AHORA Catálogo es una aplicación
Más detallesUnidad 1: Conceptos generales de Sistemas Operativos.
Unidad 1: Conceptos generales de Sistemas Operativos. Tema 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas
Más detallesMensajes. (versión preliminar)
Mensajes (versión preliminar) Ejemplo: productor/consumidor con buffer de tamaño 0 void produce(item *p_it); void consume(item *p_it); int nmain() { ntask cons= nemittask(consproc); ntask prod= nemittask(prodproc,
Más detallesSi bien Pascal-FC no trae algunas de las características de Pascal como:
PROCESOS VS. HILOS: Ciclo de vida de un proceso: es prácticamente un estándar en todos los sistemas operativos. En principio el proceso no existe, es creado, luego pasa a listo (el proceso esta en condiciones
Más detallesProyecto Septiembre. Escuela Politécnica Superior Universidad Autónoma de Madrid 1
Proyecto Septiembre A. Organización de la práctica 1) Para promediar con la parte teórica de la asignatura es necesario aprobar independientemente prácticas y teoría. 2) La práctica de Septiembre se debe
Más detalles