CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

semaphore + structure + thread en C ??

Prononciation
Prononciation
Niveau 10
15 novembre 2013 à 18:07:02

Bonsoir,
Je suis coincé sur un problème qui m'as déjà fait perdre beaucoup de temps...

En fait je voudrais définir une structure comme ceci

typedef struct NomDeMaStructure
{
int val = 5;
sem_t monSemaphore;
}NomdeMaStructure;

appeler un thread utilisant cette structure, et une fonction qui va modifier une variable globale en utilisant l'int de ma structure et en appelant le semaphore de temps en temps dans la fonction, mais je ne vois pas du tout comment les appeler dans ma fonction, et du coup je ne sais pas trop quoi mettre en 4ème paramètre dans la création du thread avec pthread_create ...

Si vous avez compris où est mon problème, j'attend vos réponses avec grand plaisir !! ^^

godrik
godrik
Niveau 30
15 novembre 2013 à 18:12:52

Le 4eme parametre de pthread_create est ce qui va etre donne en parametre a ton thread. Donc ca depend beaucoup de qu'est ce que le thread fait et de comment est ce qu'il trouve ses donnees.

Prononciation
Prononciation
Niveau 10
15 novembre 2013 à 18:19:01

je veux utiliser ma structure en 4ème paramètre

Code_shrek
Code_shrek
Niveau 4
15 novembre 2013 à 18:29:00

il faut envoyer l'adresse de la structure en tant que void*, càd (void*) &maStruct par exemple

kernel[]
kernel[]
Niveau 10
15 novembre 2013 à 21:06:20

code_shrek a raison tu dois le caster en void* pour le passer au thread.
A l'intérieur du thread tu récupères ensuite le void* pour en faire un pointeur sur ta structure.

Prononciation
Prononciation
Niveau 10
15 novembre 2013 à 23:00:19

Dac ! je ne m'étais donc pas trompé pour le passage de paramètre ( je pensais que ça venait de là )
Enfin cela dit, j'ai déclaré une variable du type de ma structure, j'ai appeler comme ça " (void*) &VariableDuTypeDeMaStructure.

Ensuite du coup j'ai une fonction que j'appel dans le thread, un truc du genre

void maFonction (void* variableLocale)

{
variableLocale = variableGlobale
variableLocale = ( je voudrais avoir accès au int de ma structure )
// utiliser ici le semaphore de ma structure
variabeGlobale = variableLocale
}

mais je ne sais pas comment faire, toute mes tentavie sont des échec jusqu'ici -_-

Et je ne sais pas non plus ou placer le sem_init ..

Merci de vos première réponse, j'attend avec impatience la suite !! :D

Prononciation
Prononciation
Niveau 10
17 novembre 2013 à 02:05:52

need help :)

godrik
godrik
Niveau 30
17 novembre 2013 à 03:22:30

Donne du code complet. C'est impossible de comprendre ce qu'il se passe autrement.

Prononciation
Prononciation
Niveau 10
17 novembre 2013 à 13:06:23

dac, je récupère mon code lundi ( il est pas dans l'ordi où je suis ) et e t'enverrai ça )

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment