命名线程是有帮助的,这样就可以理清哪些线程正在做什么用于诊断和调试目的.
在多线程应用程序中,线程是否有一个特定的命名约定,它比另一个更好?任何准则?什么样的信息应该进入线程的名称?你有什么了解如何命名你的线程可能对其他人有帮助?
据我所知,没有标准.随着时间的推移,我发现这些指南很有帮助:
使用短名称,因为它们不会使日志文件中的行太长.
创建重要部分位于开头的名称.图形用户界面中的日志查看器往往具有包含列的表,并且线程列通常很小,或者由于您要读取其他内容而变小.
不要在线程名称中使用"thread"一词,因为它很明显.
使线程名称容易grep-able.避免类似的发声线程名称
如果您有多个具有相同性质的线程,请使用对应用程序执行或一个日志文件唯一的ID枚举它们,以适合您的日志记录习惯为准.
避免像"WorkerThread"这样的概括(你如何命名接下来的5个工作线程?),"GUIThread"(哪个GUI?是一个窗口?对于一切?)或"计算"(它计算什么?).
如果您有一个使用线程名称来测试应用程序日志文件的测试组,请不要在一段时间后重命名您的线程.你的测试人员会讨厌你这样做.经过充分测试的应用程序中的线程名称应保留.
当您拥有为网络连接提供服务的线程时,请尝试在线程名称中包含目标网络地址(例如channel_123.212.123.3).如果有多个连接到同一主机,请不要忘记枚举.
如果您有许多线程而忘记命名一个,那么您的日志机制应该输出一个唯一的线程ID(特定于API,例如通过调用pthread_self())