C - Threads starten und Beenden



  • Sehr geehrtes Forum, ich habe ein Problem, beim Thread starten und beenden:
    Wie ich einen Thread starten kann weiß ich:

    #include <windows.h>
    #include <stdlib.h>
    #include <stdio.h>
    
    void thread_function(int *id);
    //...
    // erstellung von der Function thread_function
    
    void main()
    {
        int thread = 0;
        _beginthread(thread_function,0,&thread);
    //  Jeder Thread hat seine eigene ID,
    // ... 
    //  Jetzt muss ich den Thread 0, der die Function 'thread_function' am laufen hat beenden, wie kann ich das jetzt machen?
    }
    

    Danke für eure Antworten,
    m.f.G. Developer_X



  • mit _endthread():

    void thread_function(/*...*/)
    {
      //...
      if(/*dies un das*/)
        _endthread(); //beendet thread
    }
    


  • #include <windows.h>
    #include <stdlib.h>
    #include <stdio.h>
    
    typedef struct _thread_info
    {
       int thread_nr;
       int run;
    } thread_info;
    
    void thread_function(void *ti)
    {
       thread_info *my_ti = (thread_info*) ti;
    
       while(my_ti->run)
       {
          ...
    
       //...
       // erstellung von der Function thread_function
       }
    }
    
    void main()
    {
        thread_info ti;
        ti.thread_nr = 0;
        ti.run = 1;
    
        _beginthread(thread_function,0,&ti);
    //  Jeder Thread hat seine eigene ID,
    // ... 
    //  Jetzt muss ich den Thread 0, der die Function 'thread_function' am laufen hat beenden, wie kann ich das jetzt machen?
        ti.run = 0;
    }
    

    m.f.G. Developer_X[/quote]



  • Danke euch allen!



  • Developer_X schrieb:

    Sehr geehrtes Forum, ich habe ein Problem, beim Thread starten und beenden

    Was ist denn das?


Anmelden zum Antworten