Hilos en c++

Como puede manjar hilos de ejecución en c++, al estilo de java, en el entorno de programación orientada a objetos

1 Respuesta

Respuesta
1
Si quieres manejar los hilos en C++, al estilo de Java, es decir de forma sencilla independientemente del sistema operativo, no se puede sin más.
Tienes que usar el interfaz nativo del sistema operativo en el que se vaya a ejecutar tu aplicación (Solaris, Linux, Windows...). Aunque estos tres sistemas ya soportan un cuasi-estándar de threads: Posix Threads.
Altenativamente puedes usar el API que te proporciona una librería de threads multiplataforma (necesitaras bajarte la dll o el .so para compilar y linkar tu programa), que es la opción que te recomiendo, pues la implementación de posix-threads no es completa en algunos sistemas operativos o cambia el comportamiento de algunas funciones y es de muy bajo nivel para empezar.
Librerías open-source para manejo de threads hay bastantes, pero de las más utilizadas son pthreads y ACE.
Personalmente prefiero ACE (http://www.cs.wustl.edu/~schmidt/ACE.html). Pero incluye más funciones (todas útiles) además del API de threads. Si necesitas más ayuda espero estar por aquí.
Hola!
Gracias por tu ayuda. Podría decirme en que lugar en internet puedo encontrar una muestra de código que maneje hilos trabajando en windows, ¿esto es porque no tengo la más mínima idea de como empezar la aplicación y con un trozo de código puedo hacerme una idea más clara . Como usar el API? ¿Cuál dll debo bajar? Como ves esto no es muy claro para mi...
Gracias por tu atención y paciencia
Hola!
Te cuento que la dirección de Ace no esta disponible.
Si funciona, pero al publicarlo en la web se ha perdido el carácter Alt+126 que precedía a schmidt.
Puedes bajarlo de:
http://deuce.doc.wustl.edu/Download.html
(ACE-5.4.zip)
Al descomprimirlo podrás ver los ejemplos en ACE_wrappers/examples/Threads y en docs/tutorials/guide-tutorials .html
Si vas a usarlo tendrás que compilarlo antes.
Pero, ¿para qué quieres usar los threads? ACE está muy bien en windows para tareas de background y por lo sencillo de su API, pero para interfaz gráfica probablemente sea mejor utilizar los threads de Windows/MFC.
Hola!
Tienes razón es importante saber para que los voy a emplear... bueno te cuento que lo que quiero es mirar como funcionan y no tengo nada en mente, igual creo que su manejo debe ser similar independientemente del campo que se este trabajando. Aunque me gustaría tratar de emplearlos en un desarrollo orientado a objetos en la web, por eso es que necesito ejemplos para ver algunos campos de aplicación. Inclusive he visto en el sitio que me recomendaste algo sobre CORBA que me gustaría también revisar y esto por lo de la orientación a objetos.
¿De acuerdo con lo que te he contado que tipo de aplicación me sugieres como una buena practica de hilos en desarrollos Orientados a objetos?
Te agradezco tu atención..
Entonces sin duda ACE es la mejor elección. Está hecho por gente que realmente sabe programar orientado a objetos y patrones y eso se nota en los APIs de sus librerías. Si tienes alguna duda de que hace algún método o clase, no tienes más que ir al .h donde encontrarás detallados y profundos comentarios (en inglés claro). Además es multiplataforma, por lo que podrás llevarte fácilmente tu aplicación a otros sistemas operativos.
Lo que viste de CORBA es TAO, uno de los más completos y mejores ORBs que existen.
Cualquier problema que tengas compilando ACE me lo preguntas, aunque si sigues las instrucciones (en inglés) resulta bastante sencillo.
De Corba también puedes preguntarme lo que quieras.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas