《Linux应用编程和网络编程》总计9个课程(79节、41小时),结构上分为应用编程和网络编程2部分。本课程主要讲解linux的各种API接口及其实践编程训练,如文件读写、异步IO、多路复用IO、进程、进程间通信、线程、线程同步、网络基础知识、socket接口等。学完本部分将全面掌握基于linux系统的应用层编程,并对文件操作完全掌握,从而为继续学习第5部分驱动开发打好坚实基础。
本课程为linux应用编程和网络的第7部分,只要有一定C语言和linux系统操作功底,想要学习在linux下进行软件开发的同学均可以观看。注意学习本课程不要求先学习ARM裸机和uboot移植等,但是建议先学习C语言高级专题。
课程目标:
本课程讲解linux中线程,首先使用多进程解决上个课程中提出的并发式读取按键和鼠标的任务,然后引出多线程并讲解多线程的优势,最后详细讲了多线程的同步技术。学习本课程的目的是学会在linux应用编程中使用多线程技术。
面向人群:
-
现从事其他工作,看好嵌入式物联网行业发展,没有电子软件基础和相关工作经验,希望能够零基础入门系统学习的人
-
从事网站开发、APP开发等纯软件编程工作,希望学到一些嵌入式的编程能力以横向拓展个人技能面,从而提升价值者。
通过本课程,你将学会:
-
进程的调度特性带来的IO并发解决方案
-
进程和线程的相同之处,以及线程机制的优势
-
线程同步的概念和原因
-
信号量如何实现线程同步
-
如何使用互斥锁技术来实现线程同步