- 0
- 0
- 约1.72千字
- 约 4页
- 2026-02-04 发布于湖南
- 举报
长春职业技术学院课程教案首页
No.13
授课题目
任务13:多线程编程
教学单元
学时
2[]4[?]
教学目标
[知识目标]:
1.线程基本编程;
2.线程之间的同步与互斥;
3.线程属性。
[能力目标]:
1.会线程基本编程;
2.理解线程的概念;
[素质目标]:
1.培养学生分析及解决问题能力;
2.培养学生具备嵌入式Linux开发的能力;
重点
难点
重点:线程基本编程
难点:线程之间的同步与互斥
教学方法
讲授法、演示法、实验法
能力训练
(作业)
教学体会
授课班级
授课时间及地点
年月日(星期)第节,楼室
年月日(星期)第节,楼室
年月日(星期)第节,楼室
年月日(星期)第节,楼室
长春职业技术学院课程教案用纸
教学环节
教学内容
备注
课程导入
复习提问:
Linux进程间通信有哪几种方式?
共享内存通信的原理?
消息队列通信的原理?
宣布本节课的主容:任务13:多线程编程
1.线程基本编程;●
2.线程之间的同步与互斥;★
3.线程属性。
(●为重点内容★为难点内容)
15’
复习提问
讲与听
一、线程编程基础
1、线程基础
每个用户进程有自己的地址空间
系统为每个用户进程创建一个
task_struct来描述该进程
该结构体中包含了一个指针指向该进
程的虚拟地址空间映射表
实际上task_struct和地址空间映射表一起用来
表示一个进程
对于LINUX来说,进程和线程都是任务
由于进程的地址空间是私有的,因此在进程间上下文切换时,系统开销比较大
为了提高系统的性能,许多操作系统规范里引入了轻量级进程的概念,也被称为线程
在同一个进程中创建的线程共享该进程的地址空间
Linux里同样用task_struct来描述一个线程。线程和进程都参与统一的调度
使用多线程的好处
大大提高了任务切换的效率
避免了额外的TLBcache的刷新
多线程通过第三方的线程库来实现
NewPOSIXThreadLibrary(NPTL)
是早期LinuxThreads的改进
采用1:1的线程模型
显著的提高了运行效率
信号处理效率更高
一个进程中的多个线程共享以下资源
可执行的指令
静态数据
进程中打开的文件描述符
信号处理函数
当前工作目录
用户ID
用户组ID
2、多线程编程
(1)NPTL线程库中提供了如下基本操作
创建线程
删除线程
控制线程
二、线程之间的同步与互斥
(1)信号量
(2)互斥锁
(3)条件变量
三、线程属性
pthread_create()函数的第二个参数(pthread_attr_t*attr)表示线程的属性。如果该值设为NULL,就是采用默认属性,线程的多项属性都是可以更改的。这些属性主要包括绑定属性、分离属性、堆栈地址、堆栈大小以及优先级。其中系统默认的属性为非绑定、非分离、缺省1M的堆栈以及与父进程同样级别的优先级。
绑定属性
分离属性
40’
讲授法,演示法
练与做
互动交流
学生实训
实训1:线程互斥实验P185
教师巡视指导,改错。
80’
实验法
结与拓
学生总结实验结果。
(1)学生完成习题,各小组阐述相关内容,提问。
(2)教师着重解决普遍存在的问题,答疑;学生反思,整理笔记。
(25分钟)
课堂总结
由学生发言进行总结,之后老师点评:
1.本次课程需要涉及的知识点
2.本次课程需要达到的目标
总结引申
(20分钟)
您可能关注的文档
- 《Java Web 应用开发》教学计划.doc
- 《Java Web 应用与开发》教学方案.docx
- 《Java Web应用与开发(第2版)》-源码-庄国强.docx
- 《Java Web应用与开发》课程标准.doc
- 项目1 Java Web应用开发简介.pptx
- 项目2 编写JavaScript脚本.pptx
- 项目3 搭建Web开发环境.pptx
- 项目4 JSP基础语法.pptx
- 项目5 JSP内置对象.pptx
- 项目6 Servlet技术实战.pptx
- 嵌入式Linux应用开发编程基础教案任务14:套接字编程.docx
- 嵌入式Linux应用开发编程基础教案任务15:网络高级编程.docx
- 嵌入式Linux应用开发编程基础教案任务16:NTP协议的客户端实现.docx
- 嵌入式Linux应用开发编程基础教案任务17:ARP断网攻击实验.docx
- 嵌入式Linux应用开发编程基础教案任务18:字符设备驱动编程.docx
- 嵌入式Linux应用开发编程基础教案6.1 套接字编程.pptx
- 嵌入式Linux应用开发编程基础教案项目04-print2-230728.pptx
- 嵌入式Linux应用开发编程基础教案项目06-列表230728.pptx
- 嵌入式Linux应用开发编程基础教案项目08-元祖230921.pptx
- 嵌入式Linux应用开发编程基础教案5.1 多线程编程.pptx
原创力文档

文档评论(0)