能否在一个线程中创建新线程?

发布于 2021-12-04 01:29:27 字数 290 浏览 777 评论 13

    我在主线程A中创建了非分离状态的线程B,在线程B中循环创建若干个分离状态的线程C,但是没有一个线程C能执行(之前还能执行两三个,现在一个都执行不了),在GDB下当输入 info thread时,分离状态的线程都显示   X  Thread    xxxxxxxx   (LWP  xxxxx)   0xffffe002  in   ??  ()    请问这是否正常?求教育~~

 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(13

多情癖 2021-12-05 05:58:10

网络中开了好多TCP服务端端口,每开一个就对应一个线程。而每个服务端又连接好的客户端,每个客户端有要开线程。不知道能否实现。

甜扑 2021-12-05 05:56:59

线程的父线程如果是进程,也是和进程共享一部分资源吗?

 

醉生梦死 2021-12-05 05:55:44

当然可以,main也是一个线程啊

叹沉浮 2021-12-05 05:52:29

可是我创建出来的线程根本不执行,跳入线程去调试的时候,显示“cannot find bounds of currenr function”,这属于什么情况?莫非这跟线程的分离状态有关?因为出现这种情况的都是分离状态的线程

笑红尘 2021-12-05 05:48:53

当然可以,在linux内核中,线程和进程是一样,唯一的不同是线程和父线程共享一部分资源。

傾城如夢未必闌珊 2021-12-05 05:47:52

如果可以,那我就纠结于该怎么调试这种线程了,貌似用 thread <thread ID> 不行,是不是不能用这样的命令调试分离状态的线程?

兮颜 2021-12-05 05:42:05

当然可以,main也是一个线程啊

甜扑 2021-12-05 05:40:28

嗯,我也是部分成功的,我创建几十个线程,依次扫描20--100号端口,结果扫描20到23号端口的线程很正常,其它的只是创建出来了,但根本不运行

为你鎻心 2021-12-05 04:14:06

线程当然可以创建新线程,至于什么原因我现在还没到那样的水平解释不很清楚,但是今天我做一个模拟坦克发射子弹的测试,每一个坦克对应一个坦克的线程,在它的run方法中会不定时创建子弹的线程,结果这个测试算是成功的,虽然后面抛出了异常,但是异常的原因不是线程引起的。

青萝楚歌 2021-12-05 04:11:38

线程基本不占资源.进程才是资源分配的单位.线程是执行单位.

2021-12-05 03:43:43

linux没有线程的概念,都是task,创建一个线程,实际上就是创建一个task

成熟稳重的好男人 2021-12-04 21:24:54

如果是linux, 线程是调度的基本单元, 而进程是os资源管理的基本单元。

瀞厅☆埖开 2021-12-04 02:40:15

貌似不行吧.....线程是获取资源的最小单位,应该不会再能创建新的线程.....不过听说过linux中线程是模拟进程的创建.....要是这样的话,进程可以创建新的线程,那么线程能不能创建新的线程我就不知道了....嘿嘿....求高手.....顶起!!!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文