一组并发线程运行在一个进程的上下文中。每个线程都有它自己独立的线程上下文,包括线程ID、栈、栈指针、程序计数器、条件码和通用目的寄存器值。每个线程和其他线程一起共享进程上下文的剩余部分。这包括整个用户虚拟地址空间,它是由只读文本(代码)、读/写数据、堆以及所有的共享库代码和数据区域组成的。线程也共享同样的打开文件的集合。
在多线程中不加限制的随意访问非static局部变量不会导致运算结果出错。(错误,比如有一个局部指针变量指向动态分配的内存(共享的),此时随意访问该指针可能会出错。)
一组并发线程运行在一个进程的上下文中。每个线程都有它自己独立的线程上下文,包括线程ID、栈、栈指针、程序计数器、条件码和通用目的寄存器值。每个线程和其他线程一起共享进程上下文的剩余部分。这包括整个用户虚拟地址空间,它是由只读文本(代码)、读/写数据、堆以及所有的共享库代码和数据区域组成的。线程也共享同样的打开文件的集合。
在多线程中不加限制的随意访问非static局部变量不会导致运算结果出错。(错误,比如有一个局部指针变量指向动态分配的内存(共享的),此时随意访问该指针可能会出错。)