Requisito previo: subprocesamiento múltiple , pthread_self() en C con ejemplo
pthread_equal() = Esto compara dos hilos que son iguales o no. Esta función compara dos identificadores de subprocesos. Devuelve ‘0’ y valor distinto de cero. Si es igual, devuelve un valor distinto de cero; de lo contrario, devuelve 0.
Sintaxis:- int pthread_equal (pthread_t t1, pthread_t t2);
Primer método : – Comparar con hilo propio
// C program to demonstrate working of pthread_equal() #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <pthread.h> pthread_t tmp_thread; void* func_one(void* ptr) { // in this field we can compare two thread // pthread_self gives a current thread id if (pthread_equal(tmp_thread, pthread_self())) { printf("equal\n"); } else { printf("not equal\n"); } } // driver code int main() { // thread one pthread_t thread_one; // assign the id of thread one in temporary // thread which is global declared r tmp_thread = thread_one; // create a thread pthread_create(&thread_one, NULL, func_one, NULL); // wait for thread pthread_join(thread_one, NULL); }
Producción:
equal
Segundo método : – Comparar con otro hilo
// C program to demonstrate working of pthread_equal() #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <pthread.h> // global declared pthread_t variable pthread_t tmp_thread; void* func_one(void* ptr) { tmp_thread = pthread_self(); // assign the id of thread one in // temporary thread which is global declared } void* func_two(void* ptr) { pthread_t thread_two = pthread_self(); // compare two thread if (pthread_equal(tmp_thread, thread_two)) { printf("equal\n"); } else { printf("not equal\n"); } } int main() { pthread_t thread_one, thread_two; // creating thread one pthread_create(&thread_one, NULL, func_one, NULL); // creating thread two pthread_create(&thread_two, NULL, func_two, NULL); // wait for thread one pthread_join(thread_one, NULL); // wait for thread two pthread_join(thread_two, NULL); }
Producción:
not equal
Este artículo es una contribución de Devanshu Agarwal . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA