Python大学教程(第2版) 第14章出题及实践题答案.docx

Python大学教程(第2版) 第14章出题及实践题答案.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第十四章使用Python进行多任务编程

一选择题

下列属于Python提供的多线程模块的是()

A._threadB.threadC.thrD.threadin

2.下列函数用来等待线程终止的是()

A.join()B.start()C.is_alive()D.run()

3.python中队列模块返回队列大小的方式是()

A.Queue.size()B.Queue.get()C.Queue.empty()D.Queue.full()

4.下列哪项不是exec家族函数()

A.execvpeB.execcpC.execlpD.execple

5.下列哪一项是python的基本输出函数名()

A.printB.printfC.putsD.output

二判断题

一个程序的一次独立运行是多个进程。()

锁机制是处理同步问题的常用方法。()

Queue.join()的含义是阻塞调用线程,直到队列中的所有任务被处理掉。()

使用sys.exit可以终止进程。()

Python中主线程会等待所有非守护线程终止后再终止。()

三填空题

1.进程间的通信方式是和。

2.多进程管理可以使用什么模块。

3.PriorityQueue中,priority越小,优先级越。

4.操作系统会隔离每个,使程序员以及用户可以认为每个任务都是在独占系统资源,包括内存、处理器等。。

5.一个进程是程序执行的最小单位,每个处理器的核心上都可以运行一个。

四简述题

1.简述线程与进程、并发与并行这两组概念的异同点。

2.简述Python中实现多线程的两种方式。

3.列举Python中进程间通信的两种方式

4.简述sigint_handler的作用

5.简述管道通信的过程

另实践题

1.使用互斥锁以较为底层的方式实现14.2.3小节中crawler.py的队列同步。

2.在不使用system函数的条件下,实现与14.3.1小节中类似的控制台程序。(提示:配合使用fork函数和exec家族函数。)

答案

一选择题

A2.A3.A4.B5.A

二判断题

×2.√3.√4.√5.√

三填空题

消息管道2.subprocessing3.高4.进程5.线程

四简答题

1.

-线程和进程都是计算机程序执行的基本单位,但线程属于进程,是进程中的一个执行单元,进程则是一个执行中的程序。

-进程之间相互独立,而线程之间共享内存,因此线程之间的数据共享和通信更加方便快捷。

-并发和并行都是多任务处理的方式。并发是指多个任务交替进行,在单位时间内同时处理多个任务,而并行是指同时处理多个任务,通过多个处理单元实现。

-并发和并行的目的都是提高计算机系统的效率和响应速度,但并发更注重任务的交替处理,而并行更注重任务的同时执行。

2.使用_thread模块创建线程

使用threading模块创建和管理线程

3.管道和信号

4.sigint_handler函数(原型为sigint_handler(signum,frame))展示了信号处理程序的函数原型,其中,参数signum是信号,而frame是进程栈的状况。需要说明的是,signal模块中提供了系统支持的多种信号(如上面的signal.SIGINT),这些信号其实只是数值,但使用该方式可以提高代码的跨平台可移植性,也增加了代码的可读性。

5.一个进程的输出(如标准输出)作为另一个进程的输入(如标准输入),通过这种方式完成的进程间信息交换即为管道通信。在Python中实现管道通信,首先需要在Popen的构造函数参数列表中将想要参与管道通信的流对象(stdin、stdout、stderr)指定为subprocess.PIPE。此后,可以在主进程中使用子进程的流对象:主进程可以通过管道将数据传入子进程的标准输入stdin,并可以通过标准输出stdout和标准日志stderr接收子进程传来的信息;子进程可以直接从标准输入stdin中获得主进程传入的数据,并将需要传给主进程的内容以标准输

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档