单项选择题以下关于线程清理函数的说法,错误的是()。
A.pthread_cleanup_push和pthread_cleanup_pop函数必须成对使用
B.线程从其代码中的pthread_exit函数结束时,会引发pthread_cleanup_push和pthread_cleanup_pop函数执行
C.线程从其代码中的return语句结束时,会引发pthread_cleanup_push和pthread_cleanup_pop函数执行
D.pthread_cleanup_push和pthread_cleanup_pop函数都是以宏的形式实现的