PDA

Ver la Versión Completa : procesos paralelos y builder c++


BC++
23-12-2009, 14:30:52
Hola Amigos!
Espero q se encuentren todos muy bien, en esta oportunidad mi consulta es sobre paralelismo. un ejemplo de lo que me gustaria hacer, y nose si se puede desde builder c++ es, controlar los micros y decirles a cada uno que funcion o que accion realizar.



//micro 1
for( int i=0; i<100;i++){
conta++;
}

//micro 2

for( int i=0;i<100;i++)
{
conta2++;
}

OSea lo quiero hacer (ya que tengo 4 nucleos) es distribuir los procesos, conozco un poco multithreading (pero lo q nose si este el multith trabaja unicamente sobre un micro). Cuando corro el programa siempre me esta "matando a un micro y los otros nada"

Sé que podria hacerlo (por q el for es el mismo...pero sigo usando un unico micro...y eso es lo q no quiero)

for( int i=0;i<100;i++)
{
conta++;
conta2++;
}


Saludos y MUCHAS GRACIAS, BC++:D


Nota: el for es un simple ejemplo, ya sé que estos ciclos los hace en nada de tiempo. La idea es hacer los 2 for al mismo tiempo ya q son independientes.

escafandra
23-12-2009, 23:58:14
Pues lo que pretendes está en la mano exclusiva del S.O. que es el que gestiona el uso de cada procesador en cada momento.

Bien es cierto que se puede manipular desde la programación, pero por lo que yo se, sólo desde el modo Kernel, es decir, desde un driver programado para tal fin, pero no desde el modo usuario. Revisa la API KeSetTargetProcessorDpc

Saludos.

_cero_
24-12-2009, 18:48:54
Tal como dice "escafandra" es cosa del SO la distribución del trabajo entre los procesadores, cabe mencionar que hasta donde yo sé xp solo es capaz de distribuir el trabajo en dos núcleos, con cuatro creo que no (tal vez aquí es donde radique tu problema).

Ahora según dice aquí (http://elvex.ugr.es/decsai/builder/threads/introduction.html) bastaría con programar tu aplicación con hilos (tal como sabes), para que el SO (uno que soporte los 4), se encargue de distribuir el trabajo entre los diferentes núcleos. Nos vemos

BC++
28-12-2009, 15:39:10
Muchas Gracias! :D , me pongo a buscar mas información con la sugerencias q me dieron.

Bc++
pd: Buen comienzo de año !