第2章单机资源共享的应用编程课件.pdfVIP

  • 4
  • 0
  • 约1.8万字
  • 约 47页
  • 2023-11-22 发布于江苏
  • 举报
Windows网络编程技术 第2章单机资源共享的应用 编程 授课老师:胡鸣 数学与计算机学院 计算机 1 教学目的 • 理解进程,线程和动态连接库的概念; • 掌握进程的创建方法,进程间的通信; • 掌握线程创建的方法,多线程间的通信; • 掌握多线程的同步机制; • 掌握动态链接库的编写和使用; 2 • 2.1 进程间通信 – 2.1.1进程间通信应用实例及概念 – 2.1.2进程的创建与终止 – 2.1.3内存文件映射 • 2.2 多线程通信 – 2.2.1多线程应用实例及概念 – 2.2.2线程的创建、挂起、激活和终止 – 2.2.3线程的优先级 • 2.3 同步控制机制 – 2.3.1同步控制应用实例及意义 – 2.3.2同步控制类型及应用条件 – 2.3.3应用实例的算法与实现 • 2.4 动态链接库 – 2.4.1静态链接库与动态链接库的应用实例 – 2.4.2动态链接库的创建和调用方法 – 2.4.3动态链接库应用的条件 3 2.1.1进程间通信应用实例及概念 • 程序和进程 应用程序和进程在概念上是有一定区别的,前者是静 态的程序代码,而后者是动态的实体。只有应用程序加 载到系统中后才能成为一个进程。 • 独立进程和共享进程 独立运行的程序称为独立进程 ;另外,应用程序可能 启动多个进程,一个进程空间可以运行多个程序,这就 是共享进程。 • 我们以第二章代码“命名管道” 为例来了解进程间通信 的基本情况。进程A通过命名管道(后面会介绍)的方 式传递两个参数给进程B,进程B将这两个参数进行计 算后,把结果通过命名管道的方式返回给进程A 。 • 具体的过程结合下面的图来描述: 4 进程间通信实例 5 • 进程A先启动,然后创建进程B,; • 进程B创建成功后先创建命名管道,然后创建并 连接一个命名通道。 • 进程A打开进程B建立的命名管道,同时向命名 管道写数据,进程B获取到进程A传过来的数据, 进行处理并将结果传回给进程A 6 2.1.2进程的创建与终止 • 在上面的例子中,进程A有一个操作是创建进程B。创建进程的 函数是:CreateProcess BOOL CreateProcess( LPCTSTR lpApplicationName, // 执行程序文件 LPTSTR lpCommandLine, // 参数行 LPSECURITY_ATTRIBUTES lpProcessAttributes, // 进 程安全参数 LPSECURITY_ATTRIBUTES lpThreadAttributes, // 线 程安全参数 BOOL bInheritHandles, // 继承标记 DWORD dwCreationFlags, // 创建标记 LPVOID lpEnvironment, // 环境变量 LPCTSTR lpCurrentDirectory, // 运行该子进程的初始目录 LPSTARTUPINFO lpStartupInfo, // 创建该子进程

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档