执行线程的“起始地址”是啥意思?

Posted

技术标签:

【中文标题】执行线程的“起始地址”是啥意思?【英文标题】:What does it mean the "starting address" of an executing thread?执行线程的“起始地址”是什么意思? 【发布时间】:2022-01-12 03:28:14 【问题描述】:

这是否意味着要执行的第一条指令的起始地址或当前正在执行的线程的入口点的地址,还是我完全误解了答案?

【问题讨论】:

它是用作线程过程(入口点)的函数的第一条指令的地址。 “要执行的第一条指令的起始地址……线程入口点的地址”——它们是一样的。 @RemyLebeau 谢谢。如果您可以在答案中陈述相同的内容,我会接受。 这意味着函数的地址传递给CreateThread(和相关)-ThreadProc 或用于创建线程的本机 api。存在 2 个不同的起始地址 - 本机和(并不总是存在)win32。对于由 win32 api 创建的线程,本机地址始终相同 - RtlUserThreadStart ,win32 起始地址 - 这是 ThreadProc。这远不是要执行的第一条指令 【参考方案1】:

线程共享相同的指令,因此线程的“起始地址”将是线程执行的第一条指令,而不是用于启动父线程的任何指令。

如果我错了,有人可以纠正我,但虽然线程可以共享相同的数据,但他们不知道是谁发起的。就它们而言,它们是它们自己的过程。

【讨论】:

以上是关于执行线程的“起始地址”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

线程数是啥

Python多线程是啥意思?

Java多线程是啥意思?

多线程和多进程分别是啥意思?

Python多线程是啥意思?

java中多线程地并发运行是啥意思?有啥作用.好处?