En primer lugar, un saludo a todos. Esta es mi primera consulta a la lista, aunque la leo a diario.<br><br>Mi cuestión es la siguiente: estoy trabajando con matrices la cuales recorro de la siguiente forma:<br><br>    for( j=1; j<dimy-1; j++ )<br>
        {<br>        for( i=1; i<dimx-1; i++ )<br>            {<br>             u[j][i]=f(u[j+1][i],u[j-1][i]) //no es mas que un ejemplo<br>            }<br>        }<br><br>y se me ha ocurrido que para acelerar el calculo, en lugar de hacer lo anterio, creo dos hilos -bajo Win32-, de forma que recorran la matriz asi: <br>
<br>    for( j=1; j<dimy/2; j++ )<br>
        {<br>
        for( i=1; i<dimx-1; i++ )<br>
            {<br>
             u[j][i]=f(u[j+1][i],u[j-1][i]) //no es mas que un ejemplo<br>
            }<br>
        }<br><br>    for( j=dimy/2; j<dimy-1; j++ )<br>
        {<br>
        for( i=1; i<dimx-1; i++ )<br>
            {<br>
             u[j][i]=f(u[j+1][i],u[j-1][i]) //no es mas que un ejemplo<br>
            }<br>
        }<br><br>es decir, un hilo recorre la primera mitad de la matriz y el otro la segunda mitad. El caso es que este procedimiento no es más rápido, sino todo lo contrario... tardo entre el doble y el triple en hacerlo. ¿Alguien puede explilcarme por qué?  ¿no debería ser más rápido efectuar dos procesos en paralelo -ejecuto en un Quad Core- en lugar de uno sólo?<br>
<br><br>Por adelantado, muchas gracias. <br>