并发和并行 进程和线程的概念

并发和并行

 ---并发指一个CPU可以异步的处理多个进程

 ---并行则是一个CPU同时处理多个进程

对于多核心CPU我们可以把系统看做是运行在准并行环境中的进程集合。在进程(程序)间快速反复切换叫做多任务处理。


进程和线程

进程是一个程序的实例。每个进程都有自己的虚拟地址空间和控制线程,线程是操作系统调度器(Schduler)分配处理器时间的基础单元。


创建进程的方法:

--1.系统初始化

--2.正在运行的进程执行进程的系统调用

--3.用户要求创建新进程

--4.启动批处理作业


//WINDOWS平台下创建进程的实例 (属上面的第2种情况)
#include <iostream>
#include <Windows.h>

int main()
{
	STARTUPINFO startupinfo = { 0 };
	PROCESS_INFORMATION processInfoMation = { 0 };
	BOOL bSuccess = CreateProcess(TEXT("C:\\Windows\\notepad.exe"), nullptr,
		nullptr, nullptr, false, NULL, nullptr, nullptr,
		&startupinfo, &processInfoMation
	);
	if (bSuccess) {
		std::cout << "Process started." << std::endl
			<< "Process ID:\t"
			<< processInfoMation.dwProcessId << std::endl;
	}
	else {
		std::cout << "Cannot start Process." << std::endl;
		std::cout << "Process ERROR ID:\t" 
			<< processInfoMation.dwProcessId << std::endl;
	}
    return 0;
}


//利用c++11中thread库创建一个简单的线程测试
#include <iostream>
#include <thread>
using namespace std;

void My_Function() {
	for (int _i = 0; _i < 10; _i++) {
		cout << "From : function() --" << _i << endl;
	}
}



int main()
{

	thread t = thread (My_Function);
	t.detach();
	for (int _i = 0; _i < 10; _i++)
		cout << "From : main() --" << _i << endl;

	return 0;
}


对于现代CPU我们可以吧系统看做是运行在准并行环境中的进程集合。在进程(程序)间快速反复切换叫做多任务处理。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值