wxWidgets y boost :: thread?

Quiero usar boost para hacer cosas de redes en segundo plano en un bucle mientras wxWidgets procesa la GUI. Acabo de comenzar a usar wxWidgets, por lo que mi primera idea fue comenzar en el hilo con el bucle de red dentro de OnInit de la aplicación, pero esa no fue una muy buena idea ya que el ap no puede continuar ejecutándose cuando el hilo lo detiene.

¿Cómo se usa boost :: thread para multiproceso y la biblioteca wxWidgets juntos?

preguntado el 27 de agosto de 11 a las 17:08

¿Ha considerado usar la clase wxWidgets wxThread? También hay wxThreadEvent para enviar eventos de mensajería a la GUI. -

@JohnPS Estoy buscando una mayor portabilidad y boost :: thread es realmente más simple de usar. Otra razón para esto es porque ya hice la parte de redes de antemano como una aplicación de consola. -

Puede iniciar un hilo separado en OnInit si lo desea, siempre que OnInit devuelva verdadero sin bloquear. ¿Estás haciendo esto? ¿Por qué no publica su código para OnInit ()? -

Creo que usar un hilo para redes en una GUI no es la mejor opción, ya que en algún momento tendrás que sincronizar con la GUI. ¿Ha considerado usar boost :: asio? Lo he usado con un wxTimer. -

1 Respuestas

puede comenzar su parte de red en OnInit () si lo desea, pero el oyente necesita bifurcarse en un hilo diferente. Tener un io_service y al menos un boost :: hilo que las llamadas se ejecutan en el io_service debería funcionar. será llevado a cabo por los hilos que llaman a io_service :: run () y el hilo maestro puede volver a hacer cosas de wxWidgets.

Respondido el 09 de diciembre de 11 a las 09:12

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.