Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 30
  1. #1
    Utente di HTML.it L'avatar di cik
    Registrato dal
    Jul 2003
    Messaggi
    449

    Sincronizzare più thread

    Volevo creare un buffer FIFO in cui il programma principale scrive dei dati e un thread legge i dati per eleborarli e salvarli nel DB.

    ho bisogno però di sincronizzare il codice per evitare che i due processi entrino in conflitto.
    Esiste in VB qualcosa di simile al Synchronize di Java?
    Oppure una API che mette e toglie un lock ad un'area di memoria?

    Qualcuno ha già fatto qualcosa di simile e può darmi qualche dritta?

    Enjoy...
    S'i fosse foco, arderei 'l mondo

  2. #2
    serve anceh a me
    rispondete!!


    p.s.
    cik
    ma come hai fatto a creare un thread in vb6?
    mica ti spiace spiegarmelo? anche in privato? grazie!!

  3. #3
    Declare Function GlobalLock Lib "kernel32" Alias "GlobalLock" (ByVal hMem As Long) As Long
    hmem è il puntatore all'area di memoria
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  4. #4
    Utente di HTML.it L'avatar di cik
    Registrato dal
    Jul 2003
    Messaggi
    449
    ok. grazie. adesso mi guardo anche le altre API

    Però sono abbastanza ignorante.
    Se ho un array
    codice:
    dim pippo() as miotipo
    come faccio ad ottenere puntatore all'area di memoria?
    S'i fosse foco, arderei 'l mondo

  5. #5
    Utente di HTML.it L'avatar di cik
    Registrato dal
    Jul 2003
    Messaggi
    449
    ah dimenticavo.

    X Pusolo
    vai su www.allapi.net e guarda come funziona CreateThread
    S'i fosse foco, arderei 'l mondo

  6. #6
    Originariamente inviato da cik
    ok. grazie. adesso mi guardo anche le altre API

    Però sono abbastanza ignorante.
    Se ho un array
    codice:
    dim pippo() as miotipo
    come faccio ad ottenere puntatore all'area di memoria?
    Public Declare Function VarPtrArray Lib "msvbvm60.dll" Alias "VarPtr" (Var() As Any) As Long
    questo è il putatore all'inizio dell'area di memoria
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  7. #7
    Utente di HTML.it L'avatar di cik
    Registrato dal
    Jul 2003
    Messaggi
    449
    sei troppo il migliore!!!

    Grazie
    S'i fosse foco, arderei 'l mondo

  8. #8
    Originariamente inviato da cik
    sei troppo il migliore!!!

    Grazie
    io ti avverto però di stare molto attento con puntaori di memoria e funzioni di lock che è facilissimo bombare tutto
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  9. #9
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    scusate ragazzi per quanto riguarda l'api
    create thread anche io ho difficolta'

    con l'api
    Declare Function CreateThread Lib "kernel32" Alias "CreateThread" (lpThreadAttributes As SECURITY_ATTRIBUTES, ByVal dwStackSize As Long, lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadId As Long) As Long

    ma dove devo mettere il nome della sub che devo andare a controllare?
    ho provato a metterla in tutti i parametri ma da errore!!!

    p.s.
    se mi dite anche come si esce dal thread...

  10. #10
    Originariamente inviato da amodio
    scusate ragazzi per quanto riguarda l'api
    create thread anche io ho difficolta'

    con l'api
    Declare Function CreateThread Lib "kernel32" Alias "CreateThread" (lpThreadAttributes As SECURITY_ATTRIBUTES, ByVal dwStackSize As Long, lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadId As Long) As Long

    ma dove devo mettere il nome della sub che devo andare a controllare?
    ho provato a metterla in tutti i parametri ma da errore!!!

    p.s.
    se mi dite anche come si esce dal thread...
    lpStartAddress ci devi mettere addessof (nome della sub)

    con l'api exit thread
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

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 © 2025 vBulletin Solutions, Inc. All rights reserved.