
Linux
文章平均质量分 86
Instant_
计划方向 C/C++、网络编程、hadoop/spark、机器学习。
小菜一枚。。。 所以博文有什么错误希望指正。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux环境下编程(一)——进程fork()的使用
先简单介绍一下进程的概念 定义: 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 经典定义: 进程是一个执行中的程序的实例。系统中的每个程序都是运行在某个进程上下文(context)中的。 注:上下文可能让人看不懂,简单地理解,将文本文档里的‘e’字母翻译成ASCII码是101,,在这个环境(上下文)中101代原创 2015-07-25 15:46:08 · 7816 阅读 · 0 评论 -
Linux环境下编程(二)——线程基础概念
上一篇讲了进程的基本概念,这一篇将线程的。 基础概念 线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。 经常被问到的一个问题是:线程和进程有什么区别?为什么要有线程这样一个东西? 线程是运行在进程上下文中的逻辑流,最开始的时候一个进程对应一个主线程。后来觉得既然好原创 2015-07-27 14:50:19 · 736 阅读 · 0 评论 -
Linux环境下编程(二)——线程的同步
上一节讲了基本的线程的创建、使用的方法,但是假如我们想要编写一个多线程程序还是有些问题需要处理。 既然提到了线程可以共享部分资源,那么在多个线程同时修改一段相同的内存空间时,会不会出现问题?就比如说,公司有两个boss,他们都可以让我办事,在同一个时间段内,a Boss让我一起开个讨论会,b Boss让我去楼下给他带个外卖。。。 这时,我到底是该买外卖呢,还是开会呢?在同一时间内,我只能做一件事原创 2015-08-09 00:55:17 · 682 阅读 · 0 评论 -
Linux网络编程(1):如何使用"unp.h"
俗话说万事开头难,学习新知识也是这样原创 2014-06-07 01:08:19 · 3783 阅读 · 0 评论 -
Linux网络编程(附1)——封装read、write
由于网络IO传输过程中网络环境的复杂性,read、write有可能遇到中断信号等中断,而且简单的read、write版本并不能直接控制到底read、write多长的字节,所以可以对其进行封装。原创 2015-08-12 02:05:42 · 2473 阅读 · 0 评论 -
Linux网络编程(3)——多进程、多线程
在我的里面已经介绍了linux下面c的进程、线程接口,这里就不做过多阐述了。 多进程 这里多进程采用传统的多进程模型,每当有客户端发来的连接时创建一个进程来处理连接,一个子进程对应一个连接。 有了上篇单一进程的基础,此处只做简单的修改便可以实现。 while(1){ clientfd = Accept(servfd, (struct sockaddr*)&cliad原创 2015-08-15 02:02:26 · 1969 阅读 · 0 评论 -
Linux网络编程(2)——采用TCP的基本server的实现
一个基本的C/S服务器模型很简单: 客户端 服务器 简而言之就是客户端跟服务器之间的通话,通话方式一般采用TCP和UDP这两种。 TCP和UDP区别 1、Tcp提供客户与服务器之间的连接。TCP客户端先与某个给定服务器建立一个连接,再跨该连接于那个服务器交换数据,然后终止这个连接。 (连接其实就是一种协商机制,预先定义好了双方的一些状态变量,告诉对方诸如序列号原创 2015-08-10 12:27:47 · 5255 阅读 · 1 评论 -
Linux下基于EPOLL 模型,实现用户登录,客户端采用QT
只实现的最基本的功能框架,其它的大家可以原创 2014-04-14 15:29:58 · 2035 阅读 · 0 评论