1
zhazi 7 小时 8 分钟前
代蒙(希腊文:δαίμων、拉丁文:Dæmon 、英文:Daemon )是希腊神话中的一种介于神与人之间的精灵或妖魔。它们与神祇的区别在于精灵并不具有人的外貌,而是一种善恶并存的超自然存在。在罗马神话中,代蒙称为格尼乌斯( Genius )。
特征 代蒙无处不在,伴随着人的一生。古希腊人把许多不能理解的破坏性的自然现象归罪于代蒙的恶作剧,比如水灾、火灾、旱灾、雪崩、山体滑坡、泥石流、地震、龙卷风、暴风雨、涨潮、瘟疫等等。荷马认为,代蒙对人是无益也是无害的,分为正邪两种,既有专门保护人的,也有专门害人的,有时也会被视为敌视人类的存在,它们使人发疯,使人变成瞎子或聋子。 根据古希腊唯心主义哲学派的解释,人一生下来一直到死亡都有代蒙伴随并支配他的一切行动。 自从奥林匹斯神系教派被后来的宗教排挤之后,对代蒙的信仰还保持了很长一段时间。后来基督教则把一切异教神灵统称为代蒙。代蒙一词与恶魔( Demon 、Devil-mon )的意思基本相同。 以上来自 wiki 感受下这句"人一生下来一直到死亡都有代蒙伴随并支配他的一切行动。" |
3
nullyouraise 6 小时 55 分钟前 |
4
awesomePower OP @nullyouraise AI 的理解力还挺强
贴一下 AI 的回答: 如果单纯从字面上看,"守护"听起来像是英勇的卫士,负责保护核心任务。但实际上,它的英文原词是 Daemon ,而在操作系统中,它的行为逻辑更接近于**"随从"或"背景板"**。 1. 为什么"守护"这个翻译会让人误解? 在中文语境下,"守护"意味着主次关系中,守护者通常是更持久、更坚强的一方。 但在多线程编程(如 Java 或 Python )中,Daemon Thread 的特性是: 卑微的生存观:只要任何一个"用户线程"( User Thread )还在运行,它就活着。 强制陪葬:一旦所有的非守护线程(主任务)结束了,JVM 会毫不留情地杀掉所有守护线程,不论它们工作是否完成。 所以,你的直觉是对的: 它不是为了"守护"主线程不挂,而是主线程一旦挂了,它就没资格独活。 2. 为什么翻译成"守护"? 这其实是一个历史溯源问题。 希腊神话起源:Daemon (或 Daimon )在希腊神话中并不是"恶魔( Demon )",而是一种介于神与人之间的中立精灵。它们默默地在后台处理杂事,不为人所察觉。 Unix 的传统:早期的系统服务(如 httpd, sshd )被称为 Daemon ,因为它们在后台默默运行。 翻译的惯性:早期翻译者将其对应为"守护进程"。当多线程概念普及后,这种叫法被沿用到了"守护线程"上。 3. "依附线程"是否更准确? 从生命周期控制的角度来看,你提议的"依附线程"或"从属线程"确实比"守护线程"准确得多。 4. 更有趣的类比 如果你觉得"依附"还不够生动,开发者社区有时会用这两个词来形容它: "寄生线程":宿主(主线程)不在了,寄生者也就无法生存。 "背景气氛组":主角(业务逻辑)下台了,背景音乐和灯光(守护线程)必须立刻关掉,没必要继续演给空屋子看。 总结: 虽然"守护线程"这个名词已经在工业界根深蒂固,改掉它很难,但在理解它时,你完全可以把它脑补为"后台陪跑线程"。 |
5
aarontian 1 小时 1 分钟前
感觉按服务线程理解就通顺多了。
Daemon Thread 就是服务线程用的,进程里没其它用户线程了,它自然就可以 gg 了。 Daemon Process 是服务进程用的,但进程是独立的,所以它一直在后台独立运行。。。 这样理解换成守护好像也没问题 |