C PTHERED_ISELE FELETY UŻYTKOWANIE

C PTHERED_ISELE FELETY UŻYTKOWANIE
C Language wymyśla wiele bibliotek używanych do określonych celów. Jedną z tych bibliotek jest biblioteka „POSIX” C, która jest specjalnie dla systemów POSIX. Biblioteka POSIX może pozwolić ci robić wątki, zdobyć ich identyfikatory i robić wiele rzeczy. Jedną z tych funkcji jest funkcja „pthread_self ()”, która jest specjalnie zaprojektowana w celu uzyskania identyfikatora utworzonego nowego wątku. Tak więc będziemy omawiać niektóre z przykładów, aby użyć funkcji „pthread_self ()” w C. Zacznijmy.

Zaczęliśmy wdrażać ten artykuł w celu utworzenia nowo wygenerowanego pliku C. Ten plik można utworzyć za pomocą instrukcji „dotyk” Ubuntu w jego powładzie. Jest to dość łatwe, tak jak to zrobiliśmy w poleceniu pokazanym na załączonym zrzucie ekranu. W Ubuntu dostępnych jest kilka wbudowanych redaktorów, aby po prostu otworzyć i edytować kod C. Wykorzystaliśmy wbudowany edytor „Nano” w terminalu Ubuntu 20.04 Korzystanie z słowa kluczowego „Nano” w instrukcji.

Przykład 01:

Tak więc rozpoczynamy nasz pierwszy przykład użycia funkcji pthread_self () w kodzie C, aby uzyskać „id” wątku w Ubuntu 20.04. Zainicjowaliśmy kod z prostymi nagłówkami. Te nagłówki są koniecznością kodu C. Bez tych nagłówków nasz kod nie jest użyteczny i nie będziemy w stanie uzyskać wymaganego wyniku. Dołączyliśmy nagłówek „Stdio”, aby przyjąć standardowy wyjście wejściowe w naszym kodzie. Używany jest również standardowy plik nagłówka biblioteki. Tymczasem głównym plik nagłówka jest „PTHREAD”, który został uwzględniony do użycia standardowej biblioteki wątków POSIX i jej funkcji w kodzie C.

Po uwzględnieniu bibliotek wykorzystaliśmy funkcję wątku zdefiniowaną przez użytkownika o nazwie „Zadanie”, biorąc pod uwagę wskaźnik do „id” wątku utworzonego w funkcji głównej. W ramach tej funkcji zadania wykorzystujemy klauzulę PrintF, aby wyświetlić instrukcję pokazującą, że wykonujemy wątek o konkretnym „identyfikatorze.„Wątek„ id ”, który został uzyskany z użycia funkcji„ pthread_self ”w tym instrukcji, zostanie wyświetlony wraz z tekstem w skorupce za pomocą klauzuli„ printf ”.

Funkcja „pthread_exit” jest tutaj wykorzystywana do wyjścia z utworzonego wątku i zwrócenia NULL do funkcji głównej, jak pokazano w klauzuli „return” funkcji „zadania”. Oto główny kod wykonania pliku. Wykonanie kodu C będzie zawsze inicjowane z funkcji Main (). Funkcja main () używa zmiennej POSIX „pthread_t”, aby uzyskać identyfikator wątku utworzony przez funkcję „pthread_create” w ramach zmiennej „th”. Prosta klauzula „printf” jest tutaj odrzucona do wyjścia na terminalu, że główna funkcja była w tej chwili wykonywana lub działająca. Następnie funkcja „pthread_create” jest tutaj, aby utworzyć nowy wątek. Zmienna „TH” została tutaj odwołana w celu zidentyfikowania tego wątku przez jego identyfikator i uzyskanie parametrów zerowych. Funkcja „zadania” została tutaj wywołana, aby użyć go jako wykonania wątku lub wyświetlanie informacji dotyczących identyfikatora wątku. Funkcja zadania nie przyjmuje żadnych argumentów zgodnie z null. Po wykonaniu funkcji „zadania” i zwróconej „null” funkcja pthread_join () jest tutaj używana do zatrzymania lub zawieszenia wątku wywoławczego podczas oczekiwania na ukończenie lub zakończenie ukierunkowanego wątku. Kod C dla pthread_self () jest zakończony i skompilowany w powłoce.

Użyjmy kompilatora „GCC”, który został już zainstalowany w naszym Ubuntu 20.04 System. Twój kod nie wyprowadzi wymaganej rzeczy na powładzie bez niej. Musisz więc uzyskać kompilator „GCC”. Kompilacja dla pthread_self () jest ogromna i jesteśmy gotowi uruchomić kod. Kod uruchamiania jest używany jako pojedyncze słowo kluczowe ”./A.out ”jak poniżej. Widać, że główna funkcja została wykonana najpierw i utworzyła wątek. Za pośrednictwem tego wątku wywoływana jest funkcja „zadania” i wyświetla identyfikator wątku w powładzie. Funkcja zadania została zakończona, a wątek Main () został zakończony. Tak działa funkcja „pthread_self”.

Przykład 02:

Zajrzyjmy kolejną ilustrację, aby rzucić okiem na funkcję „pthread_self ()” w kodzie C. W tym celu będziemy aktualizować to samo „jaźń.plik C ”używany w powyższym przykładzie. Otwieramy plik w edytorze Ubuntu o imieniu „Nano”, jak pokazano poniżej.

Kod rozpoczyna się ponownie z niektórymi nagłówkami. Standardowy nagłówek wyjściowy wejściowy jest wykorzystywany do uzyskania wejścia i wyświetlania. Biblioteki „Unistd” i „stdlib” służą do wykorzystania niektórych standardowych funkcji w kodzie. Biblioteka „PTHREAD” jest koniecznością do użycia tutaj do używania funkcji „POSIX” w kodzie. Zdefiniowaliśmy liczbę wątków za pomocą „wątków” POSIX w kodzie po bibliotekach za pomocą instrukcji „If” i użyciu słowa kluczowego „#Define”. Służy do ograniczenia liczby wątków używanych w kodzie do nie więcej niż 3. Po deklaracji wątków użyliśmy definiowanej przez użytkownika funkcji „Wyświetlanie” typu wskaźnika. Ta funkcja przyjmuje argument „P” typu wskaźnika. Zmienna „id” długiej typu jest zadeklarowana.

W następnym wierszu wartość zmiennej wskaźnika odniesienia jest konwertowana na typ „długi” i została przypisana do zmiennej „identyfikator.„Klauzula PrintF używa numeru wątku i identyfikatora do wyświetlania na skorcie za pomocą„ LD ”i„ Lu ”w tekście. Po tym wątek został opuszczony. Teraz funkcja main () jest zadeklarowana dwoma argumentami. „Pthread_t” służy do zainicjowania listy „th” o rozmiarze 3 wątków za pomocą „wątków” już zadeklarowanych. Wówczas zadeklarowano zmienną liczbową „RES” i rozpoczęto pętlę „for”. Będzie działać do 3 razy, a trzy wątki zostaną utworzone za pomocą funkcji „pthread_create”. Ta funkcja wykorzystuje identyfikatory trzech wątków kolejno, jeden po drugiej, a funkcja wyświetlania wykorzystuje te identyfikatory jako ich argument do wskaźnika „P.”Jeśli wystąpił jakikolwiek błąd z powodu metody„ wyświetlania ”, wątek nie został pomyślnie zakończony. Zwróci błąd do zmiennej „res” funkcji głównych. Jeśli wystąpi błąd, instrukcja „printf” wyświetli ten błąd za pomocą zmiennej „res” w instrukcji „If”. Następnie oświadczenie i program IF zostaną zakończone.

Teraz najwyższy czas zapisać i skompilować ten kod C w systemie. Do oszczędzania użyj „Ctrl+S”, pozostając w redakcji. Użyj „Ctrl+X”, aby wyjść z edytora kodu C. Po poleceniu kompilacji „GCC” wykorzystanie w skorupce zakończyło się. Prowadziliśmy ten kod z „./A.instrukcja out ”, a wyjście pokazuje identyfikatory trzech różnych wątków kolejno.

Wniosek:

Ten artykuł został objęty prostymi i najprostszymi przykładami korzystania z funkcji pthread_join () biblioteki POSIX w c. Po pierwsze, wyjaśniliśmy użycie funkcji Posx „pthread_join ()” w języku C. Następnie omówiliśmy niektóre przykłady ilustrujące jego pracę w programie C. Wierzymy, że wszystkie przykłady są niezwykłe i łatwo zostały wdrożone na edytorze Linux i działają na powłoce.