Výsledky hlasování: ?

Hlasující
92. Nemůžete hlasovat
  • Mam core 2 duo a jsem spokojeny, i pres vynalozene penize

    31 33,70%
  • Mam core 2 duo a jsem spokojeny, ale za ty penize to nestalo

    0 0%
  • Nemam core 2 duo, ale koupim si ho

    30 32,61%
  • Nemam core 2 duo a nechci ho

    31 33,70%
Výsledky 1 až 25 z 959

Téma: Vyznam dual core

Threaded View

Předcházející příspěvek Předcházející příspěvek   Další příspěvek Další příspěvek
  1. #11

    Standardní Re: Vyznam dual core

    Citace Původně odeslal THX Zobrazit příspěvek
    ok, to ifdef a ifndef som vsetko pokladal za ifndef

    - problem je iny - citas zamknute data
    ok. tak sec, opravim to ...

    Kód:
    #include <stdio.h>
    #include <pthread.h>
    #include <stdlib.h>
    int a = 0;
    int b = 0;
    pthread_mutex_t mut_a = PTHREAD_MUTEX_INITIALIZER;
    pthread_mutex_t mut_b = PTHREAD_MUTEX_INITIALIZER;
    
    void *f_thread1 ();
    void *f_thread2 ();
    int
    main (void)
    {
      pthread_t thread1, thread2;
      int iret1, iret2;
    
      iret1 = pthread_create (&thread1, NULL, f_thread1, NULL);
      iret2 = pthread_create (&thread2, NULL, f_thread2, NULL);
      pthread_join (thread1, NULL);
      pthread_join (thread2, NULL);
    
      printf ("a = %d\n", a);
      printf ("b = %d\n", b);
      exit (0);
    }
    
    
    void *
    f_thread1 ()
    {
      int x = 0;
      for (x = 0; x < 65535; x++)
        {
          int temp1, temp2;
          {
    #ifdef WHOLELOCK
            pthread_mutex_lock (&mut_a);
            pthread_mutex_lock (&mut_b);
    #endif
    #ifndef WHOLELOCK
            pthread_mutex_lock (&mut_a);
    #endif
            temp1 = a + 1;
    #ifndef WHOLELOCK
            pthread_mutex_unlock (&mut_a);
            pthread_mutex_lock (&mut_b);
    #endif
            temp2 = b + 1;
    #ifndef WHOLELOCK
            pthread_mutex_unlock (&mut_b);
            pthread_mutex_lock (&mut_b);
    #endif
            b = temp2;
    #ifndef WHOLELOCK
            pthread_mutex_unlock (&mut_b);
            pthread_mutex_lock (&mut_a);
    #endif
            a = temp1;
    #ifndef WHOLELOCK
            pthread_mutex_unlock (&mut_a);
    #endif
    #ifdef WHOLELOCK
            pthread_mutex_unlock (&mut_a);
            pthread_mutex_unlock (&mut_b);
    #endif
          }
        }
    }
    void *
    f_thread2 ()
    {
      int x = 0;
      for (x = 0; x < 65535; x++)
        {
          int temp1, temp2;
          {
    #ifdef WHOLELOCK
              pthread_mutex_lock (&mut_a);
              pthread_mutex_lock (&mut_b);
    #endif
    #ifndef WHOLELOCK
              pthread_mutex_lock (&mut_a);
    #endif
              temp1 = a - 1;
    #ifndef WHOLELOCK
              pthread_mutex_unlock (&mut_a);
              pthread_mutex_lock (&mut_b);
    #endif
              temp2 = b - 1;
    #ifndef WHOLELOCK
              pthread_mutex_unlock (&mut_b);
              pthread_mutex_lock (&mut_b);
    #endif
              b = temp2;
    #ifndef WHOLELOCK
              pthread_mutex_unlock (&mut_b);
              pthread_mutex_lock (&mut_a);
    #endif
              a = temp1;
    #ifndef WHOLELOCK
              pthread_mutex_unlock (&mut_a);
    #endif
    #ifdef WHOLELOCK
              pthread_mutex_unlock (&mut_a);
              pthread_mutex_unlock (&mut_b);
    #endif
            }
          }
        }
    Kód:
    localhost ~ # gcc -pthread -o tt-nowholelock threadtest.c
    localhost ~ # ./tt-nowholelock
    a = 11691
    b = -538
    sice to neni presne to, co ma implementovany valve, protoze pri cteni zamykam jak pro cteni, tak pro zapis ... ale stejne ...
    Naposledy upravil Fox!MURDER; 04.11.2006 v 15:38.
    Hrrrr, will you stop using people as human driven search engines? Google.com has all the answers you need.

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Podobná témata

  1. dual core notas s grafickou buducnostou
    Založil Lord Skullhead v sekci fóra Nákupní poradna
    Odpovědí: 3
    Poslední příspěvek: 10.04.2006, 17:48
  2. jak je to s tim dual channelem?
    Založil vaga v sekci fóra Intel čipové sady
    Odpovědí: 26
    Poslední příspěvek: 06.08.2005, 18:43
  3. P4 2.8GHz vykonnejsi nez dual opteron 240 na linuxu?
    Založil Petrik v sekci fóra AMD procesory
    Odpovědí: 6
    Poslední příspěvek: 20.09.2004, 07:56
  4. Ma vubec Dual chanel u AMD vyznam?
    Založil Uncle Fucker v sekci fóra NVIDIA čipové sady
    Odpovědí: 25
    Poslední příspěvek: 18.02.2003, 23:02
  5. Jake pameti pro dual channel?
    Založil Evils v sekci fóra Paměti
    Odpovědí: 6
    Poslední příspěvek: 02.02.2003, 01:22

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •