自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

转载 17-并发服务器设计(并发、同步、互斥的区别)

一实现并发的方法二使用多进程实现并发一、实现并发的方法 1. 多进程,多线程,线程池二、使用多进程实现并发#define PORTNUM 5555int main(){ int sockfd , newfd ; char buffer[128] ; int nbyte ; struct sockaddr_in server_ad

2017-04-27 19:32:38 453

转载 16-TCP和UDP网络编程(网络协议和分析要看看)

一网络结构图二socket三socket创建和连接四socket发送与接收数据五UDP的区别接收和发送函数与TCP不同六关闭socket七TCP连接八UDP编程代码 Wireshark这个是抓包软件,使用这个软件可以帮助我们更好的了解网络协议包的分层结构。一、网络结构图 1. 从上图可以看出一个完整的应用层协议包可以分层多个子资协议包,嵌套包含; 2. 从Wireshar

2017-04-27 19:30:15 483

转载 15-多线程互斥和同步

一什么是多线程二多线程函数三多线程互斥四多线程同步五代码 注意:与进程区分开来。 线程同步:多个线程按照先后顺序执行,就像是排了队列一样,一个一个来; 线程互斥:多个线程对同个资源操作,为了保证被访问资源的原子性(一次只能有一个线程使用资源),所以要互斥。一、什么是多线程 * 线程就是“轻量级”的进程。 * 线程与创建它的进程共享代码段,数据段。 * 线程拥有自己

2017-04-24 22:05:48 209

转载 14-进程间通信-消息队列(功能:传输数据)

一 什么是消息队列二在Linux中使用消息队列三使用消息队列进行进程间通信示例一、 什么是消息队列消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。 每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构。我们可以通过发送消息来避免命名管道的同步和阻塞问题。但是消息队列与命名管道一样,每个数据块都有一个最大长度的限制。Linux用宏MSGMAX和MSGMNB来

2017-04-17 23:40:46 738

转载 13-进程间通信-共享内存(功能:传输数据)

一什么是共享内存二共享内存使用的相关函数三示例一、什么是共享内存1. 顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用C语言函数malloc分配的内存一样。而如果

2017-04-17 21:35:01 990

转载 12-进程间通信-信号量(功能:共享资源)

一什么是信号量二信号量的工作原理三Linux的信号量机制四示例 信号量、消息队列和共享内存都是会涉及到进程间的同步和互斥。 错误: 在进行这个实验的时候,我一直不能得到想要的结果。所以在信号量的获取semid成功与否,信号量操作semop成功与否,信号量的设置semctl成功与否,这些都要将结果打印出来判断。看看是在哪里出错的,进行改进。 我查到是在信号量的操作semo

2017-04-17 16:18:04 2814

转载 11-进程间通信-信号通信(功能:事件通知)

一什么是信号二信号的种类三信号处理函数四示例一、什么是信号用过Windows的我们都知道,当我们无法正常结束一个程序时,可以用任务管理器强制结束这个进程,但这其实是怎么实现的呢?同样的功能在Linux上是通过生成信号和捕获信号来实现的,运行中的进程捕获到这个信号然后作出一定的操作并最终被终止。信号是UNIX和Linux系统响应某些条件而产生的一个事件,接收到该信号的进程会相应地采取一些行动。通

2017-04-16 12:35:50 850

转载 10-进程间通信-有名管道FIFO(功能:传输数据)

一有名管道概述二有名管道特点三FIFO文件与普通文件的区别三操作有名管道的函数四示例一,有名管道概述:有名管道也被称为FIFO文件,是一种特殊的文件。由于linux所有的事物都可以被视为文件,所以对命名管道的使用也就变得与文件操作非常统一,如使用open,read,write等操作文件的方法对有名管道进行操作。二、有名管道特点:使不相关的两个进程彼此通信:a. 通过路径名指出,在文件系统

2017-04-15 23:39:16 1110

转载 09-进程间通信-无名管道(父子进程间)

[TOC] (来自:http://blog.chinaunix.net/uid-26833883-id-3227144.html)一、什么是管道?管道是单向的、先进先出的,它把一个进程的输出和另一个进程的输入连接在一起。一个进程(写进程)在管道的尾部写入数据,另一个进程(读进程)从管道的头部读出数据。二、管道的分类管道包括无名管道和命名管道两种,前者用于父进程和子进程间的通信,后者可用于运行于同

2017-04-15 11:28:25 1945

转载 08-进程间通信概述

一通信的目的二通信的发展三分类一、通信的目的:数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几兆字节之间;共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到;通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程);资源共享:多个进程之间共享同样的资源。为了作到这一点,需要内核提

2017-04-15 10:24:19 296

转载 07-多进程程序设计

一创建进程fork 和 vfork二 结束进程exit三等待进程wait和waitpid四程序执行exec族 forkwait exitexeclvforkwaitpidreturnsystem一、创建进程—fork 和 vforkfork:创建进程;vfork:创建进程;函数功能:创建一个子进程;创建一个子进程;函数原型:pid_t fork(void);pid_t vfork(vo

2017-04-15 10:03:50 312

转载 06-进程控制理论

一进程二进程状态图经典三态内核七态三进程ID四进程互斥五临界资源六临界区七进程同步八进程调度九按调度时机调度可分为十一进程死锁十二函数getpid来自:http://www.cnblogs.com/wmx-learn/p/5302502.html。 这里介绍进程相关的基础概念!一、进程进程和程序的区别: 所谓进程,通俗的讲是一个具有独立功能的程序的一次运行活动。相比于进程

2017-04-13 15:47:51 394

转载 01-Coredump核心转存&&Linux程序地址分析

一Core Dump核心转存二Linux程序地址分析 Linux应用程序运行出现错误,有时候并不会马上就体现出来。-_-可能是由于错误的条件还没触发把。 但是发生的错误应该在哪里查找呢?—这时候,我们的Core Dump就派上用场了。 一、Core Dump——核心转存定义: Core Dump又叫核心转存。当程序在运行过程中发生异常, 这时Linux系统可以把程序出错时的

2017-04-12 21:40:25 620

转载 05-Linux时间编程

一时间有三种二unix高级环境编程的函数一、时间有三种:日历时间: 日历时间(Calendar Time)是用”一个标准时间点(如1970年1月1日0点)到此时经过的秒数”来表示的时间.格林威治时间: Coordinated Universal Time(UTC)是世界标准时间,即常说的格林威治标准时间(Greenwich Mean Time,GMT). 注:格林威治时间和本地时间不同

2017-04-11 16:14:48 533

转载 04-库函数方式文件编程

一库函数方式文件编程的优点二函数编程的函数说明三文件编程例子 上篇讲解了通过系统调用实现文件编程,本篇通过c函数库实现文件编程。一、库函数方式文件编程的优点:         基于C函数库的文件编程是独立于具体的操作系统的,不管是在windows,linux,还是其他的操作系统中,都是使用这些函数。使用库函数进行程序设计可以提高程序的可移植性。         流:对于标

2017-04-11 15:38:03 685

转载 03-系统调用方式文件编程

一命令查询man二文件编程的相关函数说明三文件编程例子 上篇文章提到,Linux应用程序设计中需要的外部函数主要由函数库(标c及其拓展)和系统调用(posix及其拓展)来提供。 本篇就通过实例,讲解通过“系统调用”(glibc调用Linux内核的函数)来实现文件编程。一、命令查询man命令格式:man number function 这个查看函数的命令 number的取值:

2017-04-11 14:08:22 375

转载 02-linux静态库的编写和动态库

一问题二外部函数库函数和系统调用三函数库按照链接方式可分为四如何编写自己的静态库五如何编写自己的动态库六注意七附录一、问题?程序设计中,离不开函数的使用。那么,Linux应用程序设计中需要的外部函数谁来提供呢?二、外部函数——库函数和系统调用Linux应用程序设计中需要的外部函数主要由函数库和系统调用来提供;那么,函数库和系统调用的函数有什么区别呢? 函数库: 属于开发者或者

2017-04-11 12:51:38 411

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除