在阅读陈硕老师的 muduo 网络库代码时,看到有以下的使用方式(GUARDED_BY ----> THREAD_ANNOTATION_ATTRIBUTE__ ----> __attribute__)。通过查阅资料得知:
__atrribute__ 是一个编译器指令,它指定声明的特征,允许更多的错误检查和高级优化。关键字__attribute__后跟两组括号(双括号使“宏输出”变得容易,尤其是多个属性)。括号内是逗号分隔的属性列表。__attribute__指令放在函数,变量和类型声明之后。[1]
C++代码中的 __attribute__
C++代码中的 __attribute__

如本例中的:
	GUARDED_BY(mutex_)
	THREAD_ANNOTATION_ATTRIBUTE__(guarded_by(mutex_))
	 __attribute__((guarded_by(mutex_))
guarded_by属性是为了保证线程安全,使用该属性后,线程要使用相应变量,必须先锁定mutex_
使得pendingFunctors_是原子操作。

1. attribute @Mattt
2. Clang 9文档 ---- 线程安全分析

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-07-28
  • 2021-06-16
  • 2022-12-23
  • 2022-12-23
  • 2021-08-04
  • 2021-06-04
猜你喜欢
  • 2021-06-14
  • 2022-12-23
  • 2022-12-23
  • 2021-10-21
  • 2022-12-23
  • 2022-12-23
  • 2021-10-26
相关资源
相似解决方案