Hola abel, saludos:<div><br></div><div>podrías probar a utilizar múltiples threads(hilos), acá te dejo un ejemplo para que lo analices. En mi caso lo he comprobado en CODE BLOCKS efectivamente, échalo a correr y mira los resultados de los bucles, como se entre mezclan al ejecutarse simultáneamente.</div>
<div><br></div><div>----------------------------------------------------------</div><div><div>#include <windows.h></div><div>#include <process.h></div><div>#include <iostream></div><div>using namespace std;</div>
<div><br></div><div>CRITICAL_SECTION Section;</div><div><br></div><div>inline void funcion_uno(void *P)</div><div>{</div><div>    int Count;</div><div>    for (Count = 1; Count < 11; Count++)</div><div>    {</div><div>
        EnterCriticalSection(&Section);</div><div>        cout << "Funcion 1: " << Count << "   " << endl;</div><div>        LeaveCriticalSection(&Section);</div><div>    }</div>
<div>    return;</div><div>}</div><div><br></div><div>inline void funcion_dos(void *P)</div><div>{</div><div>    int Count;</div><div>    for (Count = 10; Count > 0; Count--)</div><div>    {</div><div>        EnterCriticalSection(&Section);</div>
<div>        cout << "Funcion 2: " << Count << "   "  << endl;</div><div>        LeaveCriticalSection(&Section);</div><div>    }</div><div>    return;</div><div>}</div><div>
<br></div><div>int main()</div><div>{</div><div>    //Una forma</div><div>    //-----------------------------</div><div>    //InitializeCriticalSection(&Section);</div><div>    //_beginthread(Func1, 0, NULL);</div><div>
    //_beginthread(Func2, 0, NULL);</div><div>    //Sleep(10000);</div><div>    //DeleteCriticalSection(&Section);</div><div>    //-----------------------------</div><div><br></div><div>    //Otra forma</div><div>    //-----------------------------</div>
<div>    HANDLE hThreads[2];</div><div>    InitializeCriticalSection(&Section);</div><div>    hThreads[0] = (HANDLE)_beginthread(Func1,</div><div>                                       0,</div><div>                                       NULL);</div>
<div>    hThreads[1] = (HANDLE)_beginthread(Func2,</div><div>                                       0,</div><div>                                       NULL);</div><div>    WaitForMultipleObjects(2,</div><div>                           hThreads,</div>
<div>                           TRUE,</div><div>                           INFINITE);</div><div>    DeleteCriticalSection(&Section);</div><div>    //-----------------------------</div><div><br></div><div>    cout << "Saliendo del programa" << endl;</div>
<div>    return 0;</div><div>}</div></div><div>----------------------------------------------------------</div><div><br></div><div>Atentamente.</div><div><br></div><div>Elinv.</div><div>(<a href="http://todocporelinv.blogspot.com/">http://todocporelinv.blogspot.com/</a>)</div>
<div><br><br><div class="gmail_quote">El 21 de septiembre de 2011 01:19, Abel <span dir="ltr"><<a href="mailto:aydabella@yahoo.com.ar">aydabella@yahoo.com.ar</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hola a todos,<br>
aqui nuevamente con la siguiente pregunta.<br>
En mi programa tengo la siguiente situación:<br>
- envío un comando preguntando una información de un aparato, por decir:<br>
  send(dame_ID,respuesta);<br>
el problema es que C/C++ solo me permite enviar otro comando, despues que send(..) haya concluido, lo que quiero es:<br>
- cuando envío el send(...), paralelamente enviar otro comando, por ejemplo start(...);<br>
El aparato con el que me quiero comunicar, tiene un sistema de seguridad, solo puedo comunicarme con él de esta forma:<br>
- send(...) //el aparato espera a start(...) durante unos 5 segundos y recien me envía una respuesta correcta, sinó en respuesta tengo un "resp_out"<br>
- solo puedo enviar otro comando, despues de haber recibido una respuesta de send(...).<br>
Espero me puedan dar alguna idea, si no me entendieron, puedo dar mas detalles al respecto.<br>
Gracias.<br>
<font color="#888888">Abel<br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</font></blockquote></div><br></div>