线程的销毁

来源:11-1 内存部分导学

wxz123

2021-02-17

老师,对于进程线程的销毁,我的理解一直都点模糊,一个线程如果不在程序中销毁,那当程序结束,这个线程是会随着这个程序结束而销毁吗?还是会交给操作系统来管理?我对这块的理解如下,麻烦老师您看一下有什么问题,十分感谢!
1、程序的结束就等价于该进程销毁,操作系统就会对该进程所拥有的所有资源进行回收。
2、进程销毁了,进程中的线程也就销毁了。
3、程序中手动销毁的线程都是子线程,对主线程并没有作用,例如c语言的thrd_join()和thrd_detach()销毁的线程都是子线程。
4、主线程main函数的销毁是随着程序运行结束自动销毁的,不用手动销毁。
5、主线程销毁,子线程自动就会销毁,也就是即使在程序中没手动销毁子线程,但随着程序的结束,子线程也会因为主线程的销毁而销毁。

写回答

1回答

求老仙

2021-02-20

进程会分配一个主线程。逻辑上,线程就是一个代码断,一次函数调用。不同的编程语言,除了逻辑上我们说的执行,还会为线程创建数据结构。

数据结构可以复用,故而执行完也未必要销毁。一个线程结构被创造,赋予程序就执行,执行完处于完成状态,再赋予程序又开始执行。线程池就是这种原理。

0
0

大学计算机必修课新讲--编译原理+操作系统+图形学

轻松超越大学课程,前阿里P8专家的实践精华总结

1752 学习 · 157 问题

查看课程