Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Spanish
  4. Programación multihilos
Forum Updated to NodeBB v4.3 + New Features

Programación multihilos

Scheduled Pinned Locked Moved Spanish
5 Posts 3 Posters 2.4k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Y Offline
    Y Offline
    yramz
    wrote on last edited by
    #1

    Tengo una duda respecto a la programación multihilos en Qt, yo tengo una lista en el hilo principal la cual en el hilo secundario voy a estar utilizando para imprimir su informacion constantemente, en caso de yo modificar la lista en el hilo principal, se actualizaría en el hilo secundario esta lista...?

    1 Reply Last reply
    0
    • D Offline
      D Offline
      drhugo
      wrote on last edited by
      #2

      Digamos que tu lista esta implementada con la clase QList. Si tu haces un cambio en esa lista (digamos, añadiendo algo al principió de la lista) desde tu hilo secundario, entonces el cambio lo vería tu hilo principal.

      Un riesgo de hacer modificaciones desde mas de un hilo es que aveces puedes tratar de leer datos de un hilo mientras los cambias de otro.

      Para solucionar este problema, debes usar un candado (un mutex). Ve la documentación de la clase QMutex para darte idea.

      1 Reply Last reply
      0
      • D Offline
        D Offline
        drhugo
        wrote on last edited by
        #3

        Digamos que tu lista esta implementada con la clase QList. Si tu haces un cambio en esa lista (digamos, añadiendo algo al principió de la lista) desde tu hilo secundario, entonces el cambio lo vería tu hilo principal.

        Un riesgo de hacer modificaciones desde mas de un hilo es que aveces puedes tratar de leer datos de un hilo mientras los cambias de otro.

        Para solucionar este problema, debes usar un candado (un mutex). Ve la documentación de la clase QMutex para darte idea.

        1 Reply Last reply
        0
        • N Offline
          N Offline
          NyAw
          wrote on last edited by
          #4

          Si el segundo hilo utiliza un puntero a la lista si que podrás ver los cambios pero si utiliza una copia no los veras.
          Para que dos hilos compartan variables te recomiendo que los dos hilos tengan un puntero a la variable compartida y como te indica "drhugo" utilizes un mutex para proteger el acceso concurrente a la variable.

          1 Reply Last reply
          0
          • N Offline
            N Offline
            NyAw
            wrote on last edited by
            #5

            Si el segundo hilo utiliza un puntero a la lista si que podrás ver los cambios pero si utiliza una copia no los veras.
            Para que dos hilos compartan variables te recomiendo que los dos hilos tengan un puntero a la variable compartida y como te indica "drhugo" utilizes un mutex para proteger el acceso concurrente a la variable.

            1 Reply Last reply
            0

            • Login

            • Login or register to search.
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • Users
            • Groups
            • Search
            • Get Qt Extensions
            • Unsolved