在C++中,如何利用API函数实现进程的创建?
在操作系统课程中,我们有如下的实验题目:压力测试,创建尽可能多的进程和线程,得到这个数目的极限,进程和线程启动后可以进入睡眠状态或者死循环,考虑这两种情况对结果的影响。可...
在操作系统课程中,我们有如下的实验题目:
压力测试,创建尽可能多的进程和线程,得到这个数目的极限,进程和线程启动后可以进入睡眠状态或者死循环,考虑这两种情况对结果的影响。
可是我们的课程并没有学习与API相关的知识,所以想请问各位比较熟知C++的高手。另外,所谓的睡眠状态和死循环是自己可以控制的么? 展开
压力测试,创建尽可能多的进程和线程,得到这个数目的极限,进程和线程启动后可以进入睡眠状态或者死循环,考虑这两种情况对结果的影响。
可是我们的课程并没有学习与API相关的知识,所以想请问各位比较熟知C++的高手。另外,所谓的睡眠状态和死循环是自己可以控制的么? 展开
3个回答
展开全部
线程是用 CreateThread 或者用c函数 _beginthread
进程是用 CreateProcess或者 exec系列的
睡眠就是调用 sleep足够的时间。 死循环就是。。死循环。。
进程是用 CreateProcess或者 exec系列的
睡眠就是调用 sleep足够的时间。 死循环就是。。死循环。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include "stdafx.h"
#include <windows.h>
#include <iostream.h>
void main()
{
//调用记事本进程
STARTUPINFO si={sizeof(si)};
PROCESS_INFORMATION pi;
char szCommandLine[]="notepad";//这样写可以用记事本打开一个文件
::CreateProcess(NULL,szCommandLine,NULL,NULL,FALSE,NULL,NULL,NULL,&si,&pi);
cout<<si.cb<<endl;
}
#include <windows.h>
#include <iostream.h>
void main()
{
//调用记事本进程
STARTUPINFO si={sizeof(si)};
PROCESS_INFORMATION pi;
char szCommandLine[]="notepad";//这样写可以用记事本打开一个文件
::CreateProcess(NULL,szCommandLine,NULL,NULL,FALSE,NULL,NULL,NULL,&si,&pi);
cout<<si.cb<<endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int er()
{
int pid = fork();
printf("pid = %d\n",pid);
if(pid<0)
{
exit(-1);
}
er();
while(1);
}
int main()
{
er();
}
你看看这个,关于进程的。gcc下编译通过。会消耗掉你所有的资源。
{
int pid = fork();
printf("pid = %d\n",pid);
if(pid<0)
{
exit(-1);
}
er();
while(1);
}
int main()
{
er();
}
你看看这个,关于进程的。gcc下编译通过。会消耗掉你所有的资源。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询