这里是基于epoll+线程池的高并发服务器github源码,相对算是比较稳定的版本了,界面可能有点丑陋,功能都可以使用!也可扩展,读者可自行修改功能或者学习参考! 文件说明和框架介绍 说明一下里面文件的作用吧! serverHttp文件存的是服务器端的资源文件!程序刚开始调用chdir函数将工作目录切换到该目录下! epfd.h头文件 用类封装epoll句柄的初始化动作! func.h... 作者:qq_41681241 发表于 2019/03/16 09:25:58 原文链接 https://blog.csdn.net/qq_41681241/article/details/88584729 阅读:53 继续阅读 >>


畅柯 19/03/16 09:25:58
半同步/半异步模式 半同步/半异步模式中的同步和异步和前面的IO模型中的同步和异步是完全不用的概念。在IO模型中,同步和异步区分的是内核向应用程序通知的是何种IO事件(是就绪事件还是完成事件),以及该由谁来完成IO读写(是应用程序还是内核)。在并发模式中,同步指的是程序完全按照代码序列的顺序执行,异步指的是程序的执行需要由系统事件来驱动。常见的系统事件包括中断 信号等。   按照同步... 作者:weixin_42201172 发表于 2019/02/27 00:34:34 原文链接 https://blog.csdn.net/weixin_42201172/article/details/87958002 阅读:27 继续阅读 >>


田正东 19/02/27 00:34:34
上节我们对于两种事件处理模式做了简要的分析,在这里我们对于两种高效的并发编程方式来进行简单讨论,后序会继续完善 半同步/半异步方式 对于并发编程中的“同步"和"异步"是与I/O模型中的"同步"和"异步"是两种不同的概念 并发模式中,"同步"指的是程序完全按照代码序列的形式来执行的 -"异步"执行需要由系统事件来进行驱动 然而两种方法各有优缺点,异步线程虽然执行效率高,实施性很强,但是相对复杂. 作者:dream0130__ 发表于 2019/02/20 21:05:08 原文链接 https://blog.csdn.net/dream0130__/article/details/87822950 继续阅读 >>


吕海东 19/02/20 21:05:08
注:本篇博客主要内容来源于网络,侵删~ 引言 我们假设你已经熟练掌握了CAS,原子变量类等的相关概念。这篇博客中,我们主要讨论原子变量类的使用。 原子变量类 原子变量类共12个,分4组: 计数器:AtomicInteger,AtomicLong,AtomicBoolean,AtomicReference。 域更新器:AtomicIntegerFieldUpdater,AtomicLongFie... 作者:championhengyi 发表于 2018/10/03 13:51:16 原文链接 https://blog.csdn.net/championhengyi/article/details/82931425 阅读:232 继续阅读 >>


董恒毅 18/10/03 13:51:16
注:本篇博客部分内容引用自:Java并发编程:Lock 引言 在Java 5.0之前,协调对共享对象的访问可以使用到的机制只有synchronized和volatile。在Java 5.0之后,增加了一种新的机制:ReentrantLock。ReentrantLock并不是一种替代内置锁的方法,而是在内置锁不再适用的情况下,作为一种可选择的高级功能。 既生synchronized,何生Lock ... 作者:championhengyi 发表于 2018/09/27 15:46:50 原文链接 https://blog.csdn.net/championhengyi/article/details/82868343 阅读:186 继续阅读 >>


董恒毅 18/09/27 15:46:50
为什么需要线程池 在生产环境中,我们不能无限制的创建线程,主要原因如下: 线程创建与销毁的代价并不低; 如果可运行的线程数量多于可用处理器的数量,有些线程将会闲置,大量闲置的线程会消耗系统资源(内存)并给垃圾收集器带来压力; 大量线程竞争CPU也会造成不小的性能开销。 Executor框架 Executor框架在Java 5中被引入,其内部使用了线程池机制。它在java.uti... 作者:championhengyi 发表于 2018/09/13 21:38:05 原文链接 https://blog.csdn.net/championhengyi/article/details/82695378 阅读:327 继续阅读 >>


董恒毅 18/09/13 21:38:05
synchronized 同步方法 方法内的变量为线程安全,实例变量非线程安全。调用关键字synchronized声明的方法一定是排队运行的,如果不是共享资源,那么根本就没有同步的需要。 关键字synchronized取得的锁都是对象锁,而不是把一段代码或方法(函数)当做锁。对于多线程访问同一对象,哪个对象先执行带synchronized关键字的方法,哪个线程就持有该方法所属对象的锁Lock,... 作者:ldx19980108 发表于 2018/08/06 19:22:51 原文链接 https://blog.csdn.net/ldx19980108/article/details/81458620 阅读:262 继续阅读 >>


李猛 18/08/06 19:22:51
注:本文中的部分内容摘抄自他人博客,如有侵权,请联系我,侵删~ 本篇博客主要讲述 synchronized 关键字的实现原理以及 JDK 1.6 后对 synchronized 的种种优化。synchronized 的使用不再赘述。 博主目前依旧存在的疑惑 请在阅读完此篇博客之后,帮助博主回答这三个问题: 多线程争夺 Monitor 的具体过程是怎样的?是根据 ObjectMonit... 作者:championhengyi 发表于 2018/04/27 11:38:27 原文链接 https://blog.csdn.net/championhengyi/article/details/80105718 阅读:1731 评论:2 查看评论 继续阅读 >>


董恒毅 18/04/27 11:38:27
并发模式是指I/O处理单元和多个逻辑单元之间协调完成任务的方法1、半同步/半异步模式1.1半同步/半异步模式【1】同步:程序完全按照代码顺序执行;异步:程序的执行需要由系统事件来驱动。常见的系统事件包括中断,信号等。【2】同步线程:按照同步方式运行的线程;异步线程:按照异步方式运行的线程。 异步线程执行效率高,实时性强,但是程序相对负责,难以调试和扩展,不适合于大量的并发。 同步线程效率相 作者:yyc794990923 发表于 2017/07/29 15:58:01 原文链接 https://blog.csdn.net/yyc794990923/article/details/76302124 阅读:1830 评论:1 查看评论 继续阅读 >>


闫钰晨 17/07/29 15:58:01
前言之前的前言 本文作于6月中旬,当时对于很多概念不是很理解,所以写到一半实在进行不下去,通过最近的学习终于理解了一些,赶紧总结记下。 前言 本篇主要总结服务器端开发中的一些基本的框架。 如果你在东区二楼点过黄焖鸡,相信你一定能更好的理解。 正文 I/O模型 主要可以分为同步I/O,异步I/O 两大类。 同步I/O 我们可以理解为,在I/O事件发生后(出现了I/O请求),由应用程序负责处理I/O,或者说,内核向应用程序通知I/O就绪事件。 理论上来说,阻塞I/O(如read一直等待),I/O复用(如select,epoll),信号I/O都是同步I/O。 异步I/O 这俩当然是相反的咯,在I/O事件发生后(出现了I/O请求),由内核负责处理I/O,内核向应用程序通知I/O完成事件,比如Linux下的aio,(还有C++的asio??) 理解 之前对于同步和异步总是很混乱,看过之后才明白,同步I/O是由应用程序来处理,而异步只是应用程序将要做的I/O处理提前告诉了内核,一旦需要处理,内核直接按照之前的要求 继续阅读 >>


康艺杰 17/07/25 09:34:13