
Linux C/C++
XD灬
路漫漫其修远兮,吾将上下而求索
展开
-
多线程排序+快速排序
多线程排序,主要是将整个排序的序列分成若干份,每一个线程排序一份,所以线程排序完成之后,就进行归并,相当于多个有序序列合并成一个有序序列。这里就需要用到线程屏障,也就是 pthread_barrier 系列函数。屏障,通俗的说就是一个比赛跑步的过程,所以队员就绪了,才能进行比赛。多线程排序也是,需要每个线程都是排序完成后,才能进行合并的过程。代码:#includ原创 2017-05-24 20:07:48 · 15430 阅读 · 1 评论 -
Linux简单高并发模型——Epoll + 线程池
首先是一个locker.h的文件,封装了信号量、互斥量、条件变量。在线程池中的任务队列需要互斥量的保护,当任务队列中有任务到达时,需要唤醒一个等待pthread_cond_wait()的线程,线程池停止时,需要唤醒所以的线程,调用的是pthread_cond_broadcast()。locker.h文件:#ifndef _LOCKER_H_#define _LOCKER_H_原创 2017-04-16 23:19:02 · 9120 阅读 · 3 评论 -
Linux C++ 实现简单的广播服务
简单的广播服务:就是客户端可以关注某个话题,当某个话题有信息发布了之后,关注了该话题的客户端就可以收到该信息。服务端主要是通过epoll来处理所有连接的文件描述符,某个文件描述符有事件产生就处理。客户端有两个,一个是关注话题的,一个是发布话题信息的。关注话题的客户端通过TCP连接,首先发送关注的话题,再等待话题信息的到来。发布话题信息的客户端通过UDP将某个话题信息发送到服原创 2017-01-05 22:06:43 · 1436 阅读 · 1 评论 -
Linux C++ 实现简易小型的Web服务器httpd
在这个简易版的Web服务器中,实现了GET静态数据,以及动态数据。 下面的是代码,其中有注释,可以很容易看明白。 #include #include #include #include #include #include #include #include #include #include #include #include #include #原创 2016-12-29 22:04:47 · 13974 阅读 · 1 评论 -
Linux C++ 回射服务器
回射服务器就是服务端将客户端的数据发送回去。 我实现的回射服务器返回增加了时间。 服务端代码,可以很容易看懂: #include #include #include #include #include #include #include #include #include #include "../thread_pool.h"#defi原创 2016-12-28 22:56:17 · 930 阅读 · 0 评论 -
Linux C++ 实现线程池
线程池中的线程,在任务队列为空的时候,等待任务的到来,任务队列中有任务时,则依次获取任务来执行,任务队列需要同步。 Linux线程同步有多种方法:互斥量、信号量、条件变量等。 下面是根据互斥量、信号量、条件变量封装的三个类。 线程池中用到了互斥量和信号量。 #ifndef _LOCKER_H_#define _LOCKER_H_#include #includ原创 2016-12-28 22:18:59 · 1514 阅读 · 2 评论 -
CentOS 7最小安装(文字界面)中设置连接网络
Linux中最小安装,由于默认的网卡没有激活,所以无法连接到网络。设置一下就可以了 用命令:cd /etc/sysconfig/network-scripts按下enter 然后输入ls 按enter 会出现下面几个文件。我们要找的就是图片中的箭头所指的。 然后用文本编辑工具打开,输入指令vi ifcfg-eno16777736 按下enter 会出现一些的键值对,而原创 2015-12-10 17:08:38 · 4253 阅读 · 0 评论