Passaggio di un intero ad un thread

di il
2 risposte

Passaggio di un intero ad un thread

Salve a tutti ho una domanda da fare: sto facendo un client-server con server multithread. Creo già subito all'inizio un pool di thread e dopo con la socket accetto le varie connessioni, siccome la "accept" la devo per forza fare dal main volevo sapere se c'è un modo per poter inviare ad un thread in attesa l'intero (l'identificatore della connessione) e far partire il thread.

Avevo pensato ai segnali come kill() ma mi sembra di capire che li passi dei segnali specifici e che quindi non risolvono il mio problema.

Grazie in anticipo.

2 Risposte

  • Re: Passaggio di un intero ad un thread

    Non so con cosa stai programmando ma in posix thread si può passare a pthread_create una funzione con parametri. Personalmente metto tutto in una struttura e la passo dopo cast a (void*), poi nella funzione faccio il cast inverso al puntatore della struttura. Non è una soluzione elegante ma a me funziona. Forse anche la tua infrastruttura per il multithreading permette di passare funzioni che accettano parametri. Alle bruttissime, penso si possano usare variabili globali con tutti i mutex che servono (curioso: pure io sto lavorando alla stessa cosa, solo che è per interfacciare arduino e altri hardware).
  • Re: Passaggio di un intero ad un thread

    Grazie per la risposta innanzitutto.
    Sì alla fine ho messo una variabile globale e via...il fatto della pthread_create con il passaggio di parametri la so usare però siccome uso un pool di 8 thread creato prima della creazione e apertura del socket per un fatto di efficienza più che altro...quindi variabili globali brutta a livello di design ma utile ahah
Devi accedere o registrarti per scrivere nel forum
2 risposte