简单几部就可以开发出高性能的C/S模式tcp服务器 演示源码里有数据报文重载势力,可以根据实际需求进行 不同数据格式的开发。 已经基于这个开发多个物联网相关实际应用 启动部分代码 //新建服务TcpSvr svr = new TcpSvr(6000, 50, new Coder(Coder.EncodingMothord.Unicode)); this.SetText("创建tcp服务成功,端口:6000"+" 最大连接数:50" +"\r\n"); //定义服务器的4个事件 //服务器满 svr.ServerFull += new NetEvent(ServerFull); //新客户端连接 svr.ClientConn += new NetEvent(ClientConn); //客户端关闭 svr.ClientClose += new NetEvent(ClientClose); //接收到数据 svr.RecvData += new NetEvent(RecvData); this.SetText("创建四个事件(服务器满、新客户端连接、客户端关闭、接收到数据)成功服务成功\r\n"); //添加报文拆包 svr.Resovlver = new MyDatagramResolver(); this.SetText("创建报文分析器成功\r\n"); svr.Start(); this.SetText("服务开启成功!!!\r\n");
2019-12-21 19:47:24 82KB socket tcp ip 服务器
1
并发多数据与多核编程课程实践作业: 1.1代码清单: (1).TicketingDS.java文件,TicketingDS类是实现并发数据结构的类。 1⃣️方法:TicketingDS(int routenum, int coachnum, int seatnum, int stationnum, int threadnum),初始化方法,用来初始化并发数据结构和变量。 2⃣️方法:public Ticket buyTicket(String passenger, int route, int departure, int arrival),购票方法,乘客passenger购买route车次从department站到arrival站的车票一张。若购票成功,返回有效的Ticket对象,即return ticket;若购票失败,返回无效的Ticket对象,即return null。 3⃣️方法: public int inquiry(int route, int departure, int arrival),查询余票的方法,查询route车次从department站到arrival站的余票数。 4⃣️方法:public boolean refundTicket(Ticket ticket),退票方法,对有效的Ticket对象返回true,对无效的Ticket对象返回false。 (2).TicketingSystem.java文件,是一个接口类。 (3).Trace.java文件,主函数类,用来调用实现的各个方法。 (4).test.java文件,测试类,在各个threadnum和testnum情况下,计算吞吐量。 (5).Verify.java文件,快照类,显示每一个车次所有座位的预定情况,给开发者以参考,验证正确性。
2019-12-21 19:46:28 11KB 课程项目作业
1
互斥是通过每个线程看到的各自的view得到关于global的关于critical area的owner的一致看法实现的。根据2.8的证明,锁 的实现必须有写的动作,如果第一条指令是读,且只依据这一条指令是不能区分先后的;如果写了之后没有读,线程不能 得到view,和没写一样;如果又写又读,并得到某些顺序则它实际就是个gate。 11. 满足互斥。假设不成立。假设 CS(A)-->CS(B) => R(A)(turn=A) --> R(B)(turn=B) && W(A)(turn=A)-->W(B)(turn=B) && R(A)(turn=A)-->W(B)(turn=B);否则turn由B改变后不能再变成A。所以有 W(A)(busy=true)-->R(A)(turn=A)-->W(B)(turn=B)-- >R(B)(busy=false) => W(A)(busy=true)->R(B)(busy=false). 矛盾。 不满足无饥饿,因为某个线程A执行完turn=A之后,等待busy = false的时候,别的线程可能无限次的turn=X-->busy==false-- >busy=true。 不满足无死锁。可能有 W(A)(turn=A)-->W(B)(turn=B)-->R(A)(busy=false)-->W(A)(busy=true)-->R(B)(busy=false). A waits turn==A, B waits busy == false.
2019-12-21 19:46:28 1.06MB 并发编程
1
通过该文档大家可以很好的了解服务端高并发分布式设计的历程,同时在实际开发中可以参考借鉴
2019-12-21 19:43:41 888KB 高并发 分布式 架构
1
这本书教你如何为你的iOS应用程序编写高性能和并发代码。 了解什么是并发,为什么你甚至想在你的应用程序中使用它? 了解Grand Central Dispatch,Apple对C的libdispatch的实现,也称为GCD,因为它是排队任务并行运行的最简单方法之一。 然后,当GCD没有完全削减它时,采取操作和操作队列; 您将学习如何进一步定制和重用您的并发工作。 然后,您将学习在开发并发应用程序时可能遇到的常见并发问题,例如Race Conditions,Deadlocks等。 最后,了解线程和线程清理程序以及各种与线程相关的概念以及这些概念如何与您在本书中积累的知识相关联。 您还将学习如何在出现问题时使用Thread Sanitizer来简化调试。
2019-12-21 19:41:19 10.26MB iOS Swift 并发 GCD
1
由于英文版的翻译的不尽如人意,收集了网络上翻译不错的电子版,配合英文原版,相信肯定有所帮助~
2019-12-21 19:41:14 5.97MB C++ Concurrency in Action
1
LoadRunner压力测试用户登录详细操作步骤-图片 1、新建设计场景 2、新建运行场景 详细操作步骤及简单文字描述。
1
Redis 深度历险:核心原理与应用实践-最新版,从redis的基础到深入理解redis的内核,都很详细的讲解了
2019-12-21 19:30:03 18.84MB redis 数据库 高并发 集群
1
nginx优化 突破十万并发。nginx的配置详解
2019-12-21 19:29:18 156KB nginx优化
1
Java并发编程实践 mobi kindle
2019-12-21 19:25:51 978KB Java并发编程
1