Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di mr.and
    Registrato dal
    Dec 2008
    Messaggi
    51

    [C]Modifica variabile condivisa tra thread

    Salve,
    ho realizzato una applicazione server multithreading.
    Il thread principale crea dei thread a cui passa dei puntatori a variabili.Ora se il thread "figlio" modifica tale variabile tramite questo puntatore, come posso far si che il thread padre leggendo eventualmente il valore di tale variabile trovi l'effettiva modifica?
    Ad esempio:

    -Thread 1 crea la variabile int k e la inizializza a 0;

    -Crea Thread 2 passandogli come attributo un puntatore a k;

    -Thread 2 incrementa k;

    -Thread 1 legge k e trova k=1.

    (non mi voglio che thread 1 rimanga in attesa o cose del genere, ma solo che se k è stato modificato e lui lo va a leggere trova il valore modificato)

    Sotto windows avevo trovato le funzioni InterlockedIncrement e InterlockedDecrement (dichiarando le variabili in questione LONG volatile)che facevano proprio al caso mio, ma sotto linux cosa posso utilizzare di simile?

    Ringrazio in anticipo!

    Saluti!!

  2. #2

    Re: [C]Modifica variabile condivisa tra thread

    Originariamente inviato da mr.and
    ma sotto linux cosa posso utilizzare di simile?
    http://en.wikipedia.org/wiki/POSIX_Threads

  3. #3
    Utente di HTML.it L'avatar di mr.and
    Registrato dal
    Dec 2008
    Messaggi
    51
    grazie ma nell'esempio che mi hai segnalato non sono riuscito a trovare quello che cercavo.
    Che sotto Linux debba usare i pthread lo sapevo, quello che mi serviva era un consiglio per ottenere qualcosa di simile a quello che ottengo con InterlockedIncrement e InterlockedDecrement sotto windows.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.