命名线程很有帮助,这样人们就可以分清哪些线程正在为诊断和调试目的做什么。
在多线程应用程序中,是否有特定的线程命名约定比另一个更好?有什么指导方针吗?什么样的信息应该包含在线程的名称中?在命名线程方面,您学到了哪些对其他人有帮助的知识?
最佳答案
据我所知,没有标准。随着时间的推移,我发现这些指南很有帮助:
使用短名称,因为它们不会使日志文件中的行过长。
在重要部分的开头创建名称。图形用户界面中的日志查看器往往具有带有列的表,并且线程列通常很小,或者您可以将其变小以阅读其他所有内容。
不要在线程名称中使用“线程”一词,因为它很明显。
使线程名称易于使用 grep。避免听起来相似的线程名称
如果您有多个相同性质的线程,请使用对应用程序的一次执行或一个日志文件唯一的 ID 枚举它们,以适合您的日志记录习惯。
避免泛化诸如“WorkerThread”(你如何命名接下来的 5 个工作线程?)、“GUIThread”(哪个 GUI?它用于一个窗口?用于所有东西?)或“Calculation”(它是做什么的?计算?)。
如果您有一个使用线程名称来 grep 应用程序日志文件的测试组,请不要在一段时间后重命名您的线程。您的测试人员会因此而讨厌您。经过良好测试的应用程序中的线程名称应该保留。
当您有服务于网络连接的线程时,请尝试在线程名称中包含目标网络地址(例如 channel_123.212.123.3)。如果有多个连接到同一主机,请不要忘记枚举。
如果您有许多线程并且忘记命名一个,您的日志机制应该输出一个唯一的线程 ID(特定于 API,例如通过调用 pthread_self())
关于c# - 线程的命名约定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/149932/