目录

  • 1 Linux多线程并发服务器编程(线程池、FTP服务器)
    1. 01.进程相关概念(1)进程引入及定义

      00:24:26

Linux多线程并发服务器编程(线程池、FTP服务器)

1013人在学
公众号二维码

公众号

小程序二维码

小程序

课程详情

我要提问

 

随着以互联网、云计算为标志的信息产业的飞速发展,各种app应用遍地开花,在应用客户数达到百万千万级别和数据处理达到海量以后,采用常规的编程方式后端服务器性能会急剧下降。多线程网络编程模型正是为解决高并发问题而打磨的利器。对当前技术潮流,推出了Linux多线程并发服务器编程这门课程。本课程由浅入深,让零基础的学员可以快速掌握linux多线程网络编程技术,同时深入剖析技术背后的实现原理,让学员既知其然又知其所以然,提升学员竞争力,实现更好的职业发展。    

 

 

1.课程研发环境

开发工具:VI/VIM;

操作系统:Linux Ubuntu 12.04

虚拟机:VMware Workstation 8.0

其他工具:codeblock或者xshell

 

2.内容简介

本课程从最基础的进程、线程概念讲起逐步深入,通过理论与实践结合的方式,使学员快说掌握linux多线程网络编程技术,并理解技术背后的实现原理。课程详细讲解了网络编程涉及的数据结构、网络协议、编程接口、g++、gdb、makefile编程工具以及netstat、lsof等相关性能调试命令。并通过实例深入剖析并发服务器程序的开发流程、架构设计、运行原理、性能调优以及异步I/O模型、线程池、多线程并发控制、线程间通信等关键技术。课程共分四个部分,第一部分是linux网络编程基础理论介绍,该部分讲解了linux多线程网络编程用到的基本理论知识;第二部分为基本网络编程,介绍了linux编程基本工具使用,重点介绍了TCP套接字编程和UDP套接字编程;第三部分是高级网络编程,主要介绍了套接字选项、多种IO模型以及并发服务器用到的线程池技术;第四部分为项目案例,讲解了FTP并发服务器程序的实现。

 

 

高风老师:研究生学历,高级工程师,信息系统项目管理师,主要研究方向为大规模数据处理,高性能、分布式中间件系统,海量数据存储系统。2010年主持开发《房产信息管理系统》;2011年主持开发《信息智能发布系统》;2013年参与设计研发我国大型调度自动化软件,该项目获国家科技进步二等奖;2014年参与研发中石油油气管道调度系统,负责该软件数据库中间件的设计与开发,该项目获得中国石油集团公司科技进步奖。共发表学术论文6篇(其中EI检索论文4篇),申请专利3项,曾参《电力系统消息总线接口规范》、《电力系统数据库通用接口规范》等国家标准的编写。

 

 

第一部分:网络编程理论基础

第一讲:进程的引入及定义

第二讲:进程的特征及状态

第三讲:进程的调度

第四讲:线程的引入及定义

第五讲:线程的分类

第六讲:线程的互斥

第七讲:线程的同步

第八讲:线程同步与互斥案例分析(1)

第九讲:线程同步与互斥案例分析(2)

第十讲:多线程编程:linux线程库介绍

第十一讲:多线程编程:linux线程库函数(1)

第十二讲:多线程编程:linux线程库函数(2)

第十三讲:多线程编:linux线程库函数(3)

第十四讲:多线程编程:linux线程库函数(4)

第十五讲:常见数据结构:数据类型介绍

第十六讲:常见数据结构:基本数据结构(1)

第十七讲:常见数据结构:基本数据结构(2)

第十八讲:常见数据结构:STL介绍(1)

第十九讲:常见数据结构:STL介绍(2)

第二十讲:OSI网络模型与TCP/IP模型

第二十一讲:TCP协议与UDP协议

第二部分:基本网络编程:

第二十二讲:Linux常用命令(1)

第二十三讲:Linux常用命令(2)

第二十四讲:VIM用法介绍(1)

第二十五讲:VIM用法介绍(2)

第二十六讲:g++及makefile用法介绍(1)

第二十七讲:g++及makefile用法介绍(2)

第二十八讲:g++及makefile用法介绍(3)

第二十九讲:socket网络编程简介(1)

第三十讲:socket网络编程简介(2)

第三十一讲:TCP套接字基本网络编程(1)

第三十二讲:TCP套接字基本网络编程(2)

第三十三讲:TCP套接字基本网络编程(3)

第三十四讲:TCP套接字基本网络编程(4)

第三十五讲:TCP套接字基本网络编程(5)

第三十六讲:UDP套接字基本网络编程(1)

第三十七讲:UDP套接字基本网络编程(2)

第三十八讲:UDP套接字基本网络编程(3)

第三部分:高级网络编程初探

第三十九讲:套接字选项(1)

第四十讲:套接字选项(2)

第四十一讲:套接字选项(3)

第四十二讲:IO模型(1)

第四十三讲:IO模型(2)

第四十四讲:IO模型(3)

第四十五讲:Linux系统日志

第四十六讲:线程池技术(1)

第四十七讲:线程池技术(2)

第四十八讲:线程池技术(3)

第四十九讲:线程池技术(4)

第四部分项目案例:

第五十讲:并发服务器编程(1)

第五十一讲:并发服务器编程(2)

第五十二讲:并发服务器编程(3)

第五十三讲:并发服务器编程(4)

 

 

 

 

 

 


 

目标一. 掌握进程和线程的基本概念,理解进程的特征、状态转化、调度以及线程的分类、互斥、同步


目标二. 掌握linux线程libpthread的用法及原理。

 

目标三. 理解OSI网络模型与TCP/IP模型

 

目标四. 学会使用linux系统中的grep、ps、top、lsof常用命令,掌握vim、g++及makefile等开发、编译工具的用法。

 

目标五. 深入理解SOCKET网络通信的内部原理、掌握TCP和UDP基本的网络编程方法。

 

目标六. 掌握套接字选项使用方法,深入理解并学会使用select函数。


目标七. 深入理解线程池技术,能够自己编写线程池。


目标八:通过FTP并发服务器项目深入理解并发服务器模型,能够自己设计并开发简单的并发服务器程序。  

 



亮点一、即讲方法又讲原理,由浅入深。即照顾到基础学员,又照顾到有一定经验的学员,讲解过程中留有学生思考的时间。
 

亮点二、课程绝大多数代码均是一行一行手工敲入,手把手一步步带领学员从入门到精通。

亮点三、通过实践案例深入分析,是学员学习的更快、理解的更透彻。

 

1.课程针对人群

有一定的计算机网络、C/C++语言基础;有一定的Linux环境编程基础;有志于从事Linux 网络编程学生及开发人员 

 

2.我该怎么学,如何才能学好这门课程,给些建议。

 2.1、时间上的安排建议

      本课程共53讲,如果您时间上充分,建议每天学习2讲课程,不要急于学完,要理解课程的内容。 

    2.2、学习要求

      如果您没有基础,建议还是中规中矩的按照课程进度一点一点仔细观看学习,并一定要把看完的视频中的代码自己手敲一遍,以加深理解和记忆

      如果您有基础,可不必按步就搬进行,可以拿你感兴趣的部分去学习,但一定要注意实践,并学会举一反三 

    2.3、讲师建议

       1.最好看完视频之后,抛开视频,独立自己去把上课中的示例写一遍,看自己是否理解,如果不正确,可以回过头看再看下视频,如果反复,达到真正理解和熟练掌握的目的。

       2.对于项目实战部分,一定要自己亲自动手做一遍,不要满足听完就OK了

       3. 建议一般听视频,一般拿个纸和笔,做一些记录和笔记,这是一种非常好的学习习惯。

       4. 一定不要过于依赖视频,要学会看API和使用百度,学会思考,学会举一反三

       5. 最后祝您学有所成

 

 

课程是属于某个特定的专业技术,掌握该技术后,你可以从事以下职位的相关工作

1.linux后台服务开发工程师

2.大数据开发工程师

3.基础软件开发工程师

 







评价(0) 立即评论
0/150