folder Tahribat.com Forumları
linefolder C - C++
linefolder C Thread Problemi



C Thread Problemi

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Kirmizi27
    Kirmizi27's avatar
    Kayıt Tarihi: 12/Ekim/2015
    Erkek

    Selamlar arkadaşlar linuxda c ile çalışıyorum iki threadım mevcut ilk thread içinde diğer threadı çağırdığım zaman ilk thread işlemine devam etmiyor nedendir ? yardımcı olabilir misiniz ? 


    Aşk
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Kirmizi27
    Kirmizi27's avatar
    Kayıt Tarihi: 12/Ekim/2015
    Erkek

    uplu edit threadlerde çalışan işlemler socketlerle alakalı. İkinci threadde ki socket çalıştıgı zaman ilk threadde ki socket çalışmıyor.


    Aşk
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Diffstorm
    Diffstorm's avatar
    Kayıt Tarihi: 05/Temmuz/2008
    Erkek

    Tam emin değilim uzun zaman oldu  mutex metodu ile threadları senkronize ediyordun sanırım ? Stream socket mi kullanıyorsun ? İstersen elimde ders notları var gönderebilirim.

    Kodları yazarsan yardımcı olmaya çalışırım.

    Diffstorm tarafından 27/Eki/16 21:02 tarihinde düzenlenmiştir
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Kirmizi27
    Kirmizi27's avatar
    Kayıt Tarihi: 12/Ekim/2015
    Erkek

    Evet hocam stream soket kullanıyorum ders notlarını paylaşırsanız sevinirim bnun dışında kodun belli yerlerini size pm olarak attım yardımcı olursanız sevinirim.


    Aşk
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Diffstorm
    Diffstorm's avatar
    Kayıt Tarihi: 05/Temmuz/2008
    Erkek

    Tamam hocam, eve geçince bakarım. Yalnız senden gelen mesaj yok.

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Kirmizi27
    Kirmizi27's avatar
    Kayıt Tarihi: 12/Ekim/2015
    Erkek

    Hocam siz konuya mesaj yazdıktan 15 saniye sonra gönderdim şu anda gönderildi diye gözüküyor.


    Aşk
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mirturk
    mirturk's avatar
    Kayıt Tarihi: 01/Ağustos/2005
    Erkek

     

    En basit ornegi bu olur hocam. Butun threadlerin bitmesini beklemek icin pthread_join kullanabilirsin. Farkli bir kullanim sleep() ile theadleri aynı anda cagirabilirsin.

    #include <pthread.h>
    #include <stdio.h>
    #include <stdlib.h>
    #define THREAD_SAYISI	5
    
    void *MerhabaDunya(void *threadid)
    {
       long tid;
       tid = (long)threadid;
       printf("Merhaba dünya! thread #%ld!\n", tid);
       pthread_exit(NULL);
    }
    
    int main(int argc, char *argv[])
    {
       pthread_t threads[THREAD_SAYISI];
       int rc;
       long t;
       for(t=0;t<THREAD_SAYISI;t++){
         printf("Thread olusturuluyor %ld\n", t);
         rc = pthread_create(&threads[t], NULL, MerhabaDunya, (void *)t);
         if (rc){
           printf("HATA; pthread_create() is %d\n", rc);
           exit(-1);
           }
         }
    
       /* Ve son olarak calling threadimizi sonlandiriyoruz */
       pthread_exit(NULL);
    }

     

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Kirmizi27
    Kirmizi27's avatar
    Kayıt Tarihi: 12/Ekim/2015
    Erkek
    mirturk bunu yazdı

     

    En basit ornegi bu olur hocam. Butun threadlerin bitmesini beklemek icin pthread_join kullanabilirsin. Farkli bir kullanim sleep() ile theadleri aynı anda cagirabilirsin.

    #include 
    #include 
    #include 
    #define THREAD_SAYISI	5
    
    void *MerhabaDunya(void *threadid)
    {
       long tid;
       tid = (long)threadid;
       printf("Merhaba dünya! thread #%ld!\n", tid);
       pthread_exit(NULL);
    }
    
    int main(int argc, char *argv[])
    {
       pthread_t threads[THREAD_SAYISI];
       int rc;
       long t;
       for(t=0;t<THREAD_SAYISI;t++){
         printf("Thread olusturuluyor %ld\n", t);
         rc = pthread_create(&threads[t], NULL, MerhabaDunya, (void *)t);
         if (rc){
           printf("HATA; pthread_create() is %d\n", rc);
           exit(-1);
           }
         }
    
       /* Ve son olarak calling threadimizi sonlandiriyoruz */
       pthread_exit(NULL);
    }

     

    Thread'i beklemek şart mı? paralel olarak çalıştıramaz mıyım? multithread yapmak istememin sebeb zaten paralel çalıştırmam


    Aşk
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mirturk
    mirturk's avatar
    Kayıt Tarihi: 01/Ağustos/2005
    Erkek

    Syntax highlighter kodun amina koymus.. Neyse hoca sen herseyi birak bole sormayla kod ornekleriyle tam kavranilacak bisi degil. Biran once bir tutorial serisi fln bul ona basla. 

    #include <stdio.h>	
    #include <pthread.h>	
    void one(int *);	
    void two(int *);	
    void oky(int, int);	
    int r1 = 0, r2 = 0;	
    extern int	
    main(void)	
    {	
      pthread_t       thread1, thread2;	
      pthread_create(&thread1,	
              NULL,	
              (void *) one,	
              (void *) &r1);	
      pthread_create(&thread2,	
              NULL,	
              (void *) two,	
              (void *) &r2);	
      pthread_join(thread1, NULL);	
      pthread_join(thread2, NULL);	
      oky(r1, r2);	
      return 0;	
    }

     

Toplam Hit: 2348 Toplam Mesaj: 9
c thread