课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
并发编程开发是程序员在学习软件编程开发技术的时候需要掌握的一种开发形式,而今天我们就一起来了解一下,并发编程开发的一些基本概念。
在明白并发编程之前,我们需要了解一些名次,例如程序,进程,线程。
程序:程序是一推代码,用某种语言编写的一组命令的集合。
进程:正在进行的一个过程或者说一个任务,是系统进行资源分配和调度的基本单位,是操作系统结构的基础,进程是资源分配的小单位
线程:进程的子集,比进程更小的执行单位,线程在进程中执行,线程是cpu调度的小单位
1.进程
同一个程序执行多次,是开启多个进程,进程中的两大概念,并行和并发,并行是指同时运行处理多个任务,需要多个cpu才能实现,并发是指处理多个任务,看起来是同时运行,是一种伪并行
1.1进程的状态
程序运行过程中,由于被操作系统的调度算法控制,程序会进入几个状态:就绪,运行,阻塞
就绪:进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态
运行:当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行的状态
阻塞:在执行的进程,由于等待某个时间发生而无法执行时,便放弃处理机而处于阻塞状态,引起进程阻塞的时间可能有多种,例如,等待I/O完成,申请缓冲区不能满足,等待信件(信号)等。
1.2开启多进程的两种方式
python中开启多进程的模块在multiprocessing模块Process类
1.3进程间数据是隔离的
1.4僵尸进程与孤儿进程
僵尸进程:是指一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程。
孤儿进程:顾名思义,子进程还在世的时候父进程却结束了,孤儿进程是无害的,在用户机结束时终止。它有一个功能就是收养这些孤儿
1.5守护进程
守护进程:当子进程执行的任务在父进程代码运行代码完毕之后就没有存在的必要了,那么该子进程就应该设施为守护进程
1.6进程互斥锁
当有两个或以上线程在同一时刻访问同一资源,会出现一系列问题,例如进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是没有问题的,而共享带来的是竞争,竞争带来的结果就是错乱,而加锁就能解决这个问题
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。