腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
fork()是只复制调用线程还是复制所有线程?
fork()函数是用于创建一个新的进程,它会复制调用线程及其所有的资源和状态,包括所有的线程。因此,fork()会复制所有线程,包括调用线程。
相关搜索:
.net Http Web请求连接池是每个线程还是所有线程共享同一池?
Python GIL是由进程中的线程共享还是由所有进程中的所有线程共享?
创建在Spring Boot服务(可能是复制的)的一个实例中运行的守护线程
如何使用多线程将数据追加到队列中(只取最后一行并复制它)?
视图是复制数据还是只创建索引?
调用Select()是只阻塞线程还是阻塞整个程序?
数据库和服务器的连接不上去
游戏服务器数据库设计
启动服务器上的数据库失败
linux服务器恢复备份数据库
相关搜索:
.net Http Web请求连接池是每个线程还是所有线程共享同一池?
Python GIL是由进程中的线程共享还是由所有进程中的所有线程共享?
创建在Spring Boot服务(可能是复制的)的一个实例中运行的守护线程
如何使用多线程将数据追加到队列中(只取最后一行并复制它)?
视图是复制数据还是只创建索引?
调用Select()是只阻塞线程还是阻塞整个程序?
数据库和服务器的连接不上去
游戏服务器数据库设计
启动服务器上的数据库失败
linux服务器恢复备份数据库
页面内容是否对你有帮助?
有帮助
没帮助
相关·
内容
文章
问答
(9999+)
视频
沙龙
0
回答
fork
()
是
只
复制
调用
线程
还是
复制
所有
线程
?
、
、
#include <stdio.h>#include <unistd.h> {
fork
(); printf("%d", i); return 0;这是我的代码。我想知道在执行最后一个
fork
()之后我有多少进程
浏览 7
提问于2017-11-25
得票数 1
回答已采纳
2
回答
多
线程
叉()
、
、
、
在多
线程
应用程序中,如果
线程
调用
fork
(),它将
只
复制
该
线程
的状态。因此,创建的子进程将是一个单
线程
进程。如果其他一些
线程
要持有一个
线程
所需的锁(该
线程
调用
fork
() ),则该锁将永远不会在子进程中释放。这是一个问题。为了解决这一问题,我们可以通过两种方式修改
fork
()。要么我们可以
复制
所有
线程<
浏览 0
提问于2021-03-14
得票数 1
回答已采纳
1
回答
如何从多
线程
C++ Linux应用程序安全地运行shell脚本?
、
、
、
这是我的问题-我有一个多
线程
(Writer) C++应用程序,其中我有一个主控制循环
线程
,和3个数据采集
线程
(一个串行端口读取器/写入器和两个TCP套接字连接
线程
)。我做了相当多的研究,发现system()
是
一种选择。替代选项似乎表明了
fork
()和exec()系列函数的使用。我预期的问题
是
,
fork
()的使用将导致我的进程被
复制
,显然这将导致我的通信
线程
无法停止运行。由于system()文档表明它在幕后使
浏览 2
提问于2014-07-07
得票数 2
回答已采纳
1
回答
线程
中的叉()
、
、
fork
()是否
只
复制
调用
线程
或
所有
线程
? 我所认为的
是
,叉将创建
所有
在
fork
()之后编写的函数的副本。我说的对吗?我需要你的帮助。
浏览 1
提问于2015-03-25
得票数 0
回答已采纳
1
回答
当多
线程
程序创建新进程时会发生什么?
、
、
、
我有点困惑--我想详细了解一下,如果一个有多个
线程
的C程序创建了新进程,会发生什么?这种行为
是
取决于哪个
线程
正在创建新进程,
还是
取决于有多少
线程
创建了新进程?
浏览 0
提问于2016-02-10
得票数 2
回答已采纳
2
回答
操作系统内部
、
、
、
我有三个问题使我产生许多疑问: 如果程序中的一个
线程
调用
fork
(),新进程是否
复制
所有
线程
,
还是
新进程
是
单
线程
的?,如果
线程
调用
exec(),那么exec()参数中指定的程序会替换包括
所有
线程
在内的整个进程吗?
是
系统
调用
抢占的吗?例如,进程是否可以在系统
调用
的中间调度?
浏览 3
提问于2012-05-05
得票数 3
回答已采纳
2
回答
叉()ed多
线程
进程中的同步
、
、
、
如果我有一个创建N个
线程
的进程,即T1 .全N。假设N个
线程
使用锁L在它们之间进行同步。如果此进程
调用
fork
() 锁L被
复制
到具有相同值的新内存(物理)位置,对吗?如果问题(1)的答案
是
只
复制
了一个
线程
,那么如果T1已经锁定了L并从另一个
线程
T2
调用</
浏览 3
提问于2013-09-06
得票数 0
回答已采纳
4
回答
调用
叉时是否
复制
线程
?
、
、
、
、
如果我有一个运行
线程
的程序,并在基于unix的系统上
调用
fork
(),那么
线程
是否被
复制
?我知道当前进程的虚拟内存
是
复制
到新进程的1:1。我知道
线程
在进程的虚拟内存中有自己的堆栈。因此,至少也应该
复制
线程
堆栈。但是,我不知道
线程
中是否还有其他不驻留在虚拟内存中的内容,因此不被
复制
。如果没有,这两个进程
是
共享
线程
还是
它们
是
浏览 2
提问于2020-04-14
得票数 36
回答已采纳
1
回答
哪个子进程将继承父进程的
线程
?
、
当一个进程有子
线程
和子进程时,子进程会继承父进程的
所有
子
线程
吗? 假设操作系统
是
Linux。让它成为Java
线程
模型。
浏览 0
提问于2013-08-02
得票数 4
1
回答
持锁时叉子
、
PTHREAD_MUTEX_ERRORCHECK ); pthread_mutex_lock( &lock_ ); } 我看到的行为
是
父母可以重新锁定互斥锁我本以为
fork
()会对
浏览 1
提问于2017-08-25
得票数 7
回答已采纳
1
回答
在多
线程
进程上
调用
fork
、
、
我对在多
线程
进程上使用
fork
有疑问。如果一个进程有多个
线程
(已经使用pthread_create创建并创建了一个pthread_join),我
调用
了
fork
,它会
复制
子进程中分配给
线程
的相同函数,
还是
会创建一个空间,让我们可以重新分配这些函数
浏览 68
提问于2018-12-04
得票数 1
回答已采纳
1
回答
相当于solaris的
fork
1的Linux
、
、
、
、
Linux上有没有等同于Solaris的
fork
1的东西?Solaris手册页上写道:对
fork
()的
调用
与对
fork
1();的
调用
相同,只是在子进程中
复制
了
调用
线程
。这是为
fork
()指定的POSIX行为。
浏览 2
提问于2016-12-16
得票数 0
2
回答
fork
和现有
线程
?
、
、
、
在linux系统上,子进程是否以与父进程相同的方式查看现有
线程
?int main() { { else ..由于为子进程
复制
了整个地址空间,因此
线程
的状态会发生什么变化。如果上述代码段中的
线程
1正在等待条件信号,该怎么办?它在子进程中是否也处于等待状态?
浏览 2
提问于2009-07-02
得票数 16
1
回答
如果
线程
中发生叉
调用
,分叉进程从哪里开始?
、
、
我将编写一个程序,其中主
线程
创建新
线程
,然后新
线程
创建子进程。由于我很难跟踪新
线程
和分叉过程,所以我想从某人那里得到一个明智的答案。我的问题
是
如果1不是,那么如果
线程
中发生了叉
调用
,那么分叉进程从哪里开始?
浏览 5
提问于2013-05-27
得票数 1
1
回答
正确的处理std的方法::叉()后子进程中的
线程
终止
、
、
、
、
你想皱眉多少,我都会做的:)#include <thread>#include <unistd.h> { pid_t pid =
fo
浏览 3
提问于2015-07-31
得票数 2
回答已采纳
3
回答
多
线程
分叉
、
、
可以使用
fork
()函数来
复制
多
线程
进程。如果
是
这样,
所有
的
线程
都是完全相同的吗?如果不是,为什么不是。如果无法通过
fork
完成
复制
,有没有其他函数可以帮我完成?
浏览 5
提问于2011-05-19
得票数 23
回答已采纳
1
回答
无阻塞螺纹
、
、
、
在我的例子中,我希望创建一个
线程
,启动它,让它在没有阻塞状态下运行,只要主进程运行。这个
线程
没有通信,没有同步与主进程,它做自己的工作完全独立。sleep(DAY_PERIOD); /* sleep one day*/ return NULL;使用compress_logfiles函数中的ptheard_join,
线程
成功地压缩
所有
文件如果我从compress_logfiles函数中删除ptheard_join,则主进程不会被阻塞,因为它不会等待
线程
返回,但是
浏览 3
提问于2016-08-16
得票数 1
回答已采纳
1
回答
如何处理多
线程
进程的分叉错误?
、
、
、
我正在处理一个多
线程
进程,它可以分叉执行另一个进程。有时,如果执行文件不存在,则叉可能出错。由于这个进程在叉之前运行了多个
线程
,所以我有几个问题: 多
线程
进程*/ pid = /* ();if(pid == 0) {execlp(文件名,文件名,NULL);fprintf(stderr,"filename不存在“);/*,如果有多
浏览 3
提问于2012-02-20
得票数 1
回答已采纳
5
回答
与Windows的CreateProcess相比,Linux的分叉功能--什么被
复制
?
、
、
、
我在Windows上使用CreateProcess运行子进程并重定向
所有
标准流(输入、输出、错误)。流重定向至关重要,主进程向子进程发送数据并接收他们的输出和错误消息。主进程很大,内存和
线程
很多,子进程也很小。在Linux上,我看到
fork
函数具有与CreateProcess类似的功能。然而,手册说
fork
“创建父进程副本”,包括代码、数据和堆栈。这是否意味着,如果我创建一个使用1GB内存的大型进程的副本,只为了运行一个非常简单的命令行工具,它使用1MB的内存本身,那么我需要先用
fork
复制</e
浏览 14
提问于2014-02-12
得票数 9
回答已采纳
2
回答
叉()流(C)
、
、
我在理解
fork
()的执行流程方面遇到了一些小问题。我的主要问题
是
,当
调用
fork
()时,
调用
进程
是
暂停执行流程,
还是
继续执行?下面
是
我正在研究的一个例子{ { }在这里,我使用
f
浏览 4
提问于2014-07-09
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
一次fork引发的惨案!
【Linux教程】Linux系统零基础编程入门,想当大神?这些你都要学
单服务器高性能模式
C语言服务器编程必备常识
Python函数基本讲解
热门
标签
更多标签
云服务器
ICP备案
实时音视频
即时通信 IM
对象存储
活动推荐
运营活动
广告
关闭
领券