线程ID如何相等?

时间:2017-02-09 11:21:07

标签: pthreads

我目前正在学习操作系统和并发性,我的任务是在c中使用pthreads。

在尝试理解和使用pthreads之后,有一些我不太了解的事情。

如果我创建两个单独的pthreads(根据我的理解,两个进程),两个线程如何相等(pthread_equal)?或者这是什么意思?

谢谢!

1 个答案:

答案 0 :(得分:2)

  

如果我创建两个单独的pthreads(根据我的理解,有两个进程),..

不。线程不是进程。 (线程可以使用引擎下的进程来实现 - 但就用户程序而言,它仍然是一个线程,并且应该对它们进行处理)。

  

两个线程如何相等(pthread_equal)?或者这是什么意思?

这意味着它是相同的线程,并由pthread_equal()报告,它比较给定的线程ID(pthread_t)是否相等。 使用==进行直接比较是不可能的,因为pthread_t是一种opaque类型,比较线程ID的唯一方法是使用pthread_equal() API。

顺便说一句,不同进程中的两个线程可能具有相同的ID(pthread_t)。