unittestreport介绍 1、什么是unittestreport unittestreport是基于unittest开发的的一个功能扩展库,关于unittestreport最初在开发的时候,最初只是计划开发一个unittest生成html测试报告的模块,所以起名叫做unittestreport。在开发的过程中结合使用者的反馈,慢慢的扩展了更多的功能进去。后续还会持续的扩展和开发一些新的功能,目前实现了以下功能: HTML测试报告生成 unittest数据驱动 测试用例失败重运行 多线程并发执行用例 发送测试结果及报告到邮箱 测试结果推送到钉钉 测试结构推送到企业微信 2、安装unittestreport unittestreport是基于python3.6开发的,安装前请确认你的python版本>3.6 安装命令 pip install unittestreport 3、使用文档
2024-02-27 11:48:26 67KB HTML
1
【资源说明】 基于C++实现多线程连接池MySQL源码+项目说明+详细代码注释.zip C++ 调用 MYSQL API 连接池 ## environment: * VS2022 * MySQL8.0.27 ## 高并发下频繁处理瓶颈 * 建立通信:`TCP三次握手` * 数据库服务器的`连接认证` * 服务器`关闭连接`的资源回收 * `断开`通信的TCP四次挥手 > 如果客户端和服务端`频繁`进行类似操纵,影响整个`开发效率` ## 数据库连接池 > 为了`提高`数据库(关系型数据库)的访问`瓶颈`,除在服务器端添加缓存服务器缓存常用的数据,还可添加连接池来提高服务器访问效率 连接池主要用于`网络服务器端`,用于同时接受`多个用户端`请求,数据库与数据库客户端采用`TCP通信`. * 数据库客户端和服务端先建立起`多个连接` * 多线程通过`套接字通信`取出连接池中的一个连接,然后和服务器直接进行通信,通信之后再将此连接`还给连接池`(减少数据库连接和断开的次数) * 数据库连接池对应C++中的一个数据库连接对象,即`单例模式` * 连接池中包括数据库服务器连接对应的IP,端口,用户,密码等信息 * 对数据库对象存入`STL`当中,需要设置最大值,最小值限制队列 * 多线程从连接池中取出数据库对象若有取出,`没有等待`调用算法 * 对 连接池中的数据库连接(空间时间长的即调度算法)进行`适当`断开连接 * 共享资源的访问,需要`互斥锁`(生产者消费者问题) ## 单例模式 * `懒汉模式` > 当使用这个类的时候才创建它 > 创建对象时,加锁保证有且仅有一个 > (有线程安全问题) * `饿汉模式` > 不管用不用它,只要类被创建,这个实例就有 > 没有线程安全问题 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
2024-02-26 13:31:32 1.56MB 毕业设计 课程大作业 源码 MySQL
c++ 面向对象多线程编程源码
2024-02-26 00:05:43 95KB
1
易语言P2P交互源码,P2P交互,P2P监听,启动线程_,创建进入许可证_,删除进入许可证_,CreateThread1,CreateThread,关闭句柄,InitializeCriticalSection,DeleteCriticalSection,GetMessage,TranslateMessage,DispatchMessage,数据分析
1
易语言Mysql线程池2.0模块源码,Mysql线程池2.0模块,GetThis,初始化,关闭类线程,线程_测试,其他_附加文本,连接池初始化,取mysql句柄,释放mysql句柄,取空闲句柄数,销毁连接池,取_类_函数地址,取指针内容_整数,取变量地址_整数,高精度等待,内存_申请,内存_释放,
2024-02-24 12:33:24 8KB GetThis
1
网络编程+多线程技术 具备局域网聊天功能 输入计算机名或者IP地址即可
2024-01-30 20:34:07 37KB 网络编程+多线程
1
线程异步加载大批量数据到Datagridview中,没次加载1000条数据。 引用DLL,调用方法: string sql = "select top {0} * from {2} where FItemID not in (select top {1} FItemID from {2})"; string tbName = "b_material"; Dictionary dic = new Dictionary(); dic.Add("sql", sql); dic.Add("tbName", tbName); dic.Add("sqlConn", "server=192.168.1.254;user=sa;pwd='';database=APS20091223114023"); DgvShowPager d = new DgvShowPager(this.dataGridView1, dic); d.ShowDataPager(); 不明白的可以加我QQ:253874510
1
上传项目不支持Firefox,提示代码附件太大(1.4M),我写了30多分钟的描述全没了,太坑爹了。 10分有点贵,绝对原创,共2个代码文件300多行,下载请谨慎。你下载了,若绝对不爽在评论中说出来,不要让其他同学上当,如果觉得还可以也请留言。 代码采用多工作者多线程执行任务。通过暴露的方法往工作者传递消息,然后采用事件回调返回处理结果,实现的事件有OnThreadComplete,OnAddedTask,OnStart,OnSuccess,OnFailure,OnTimeout。 事件回调支持同步或异步,每工作者可以指定执行超时时间,避免线程阻塞死掉。队列采用线程安全的BlockingCollection,每组工作者用一个队列。委托采用Func来定义的,没有采用传统且不太好理解的Delegate。这让代码减少很多,也更容易理解。多线程应该采用消息中心来交换数据,这样就规避了线程同步交互,等待,阻塞等等,全部是异步调用,全部是接收消息工作,然后产生消息,线程间没有耦合,消息中心有很多成熟的方案如RabbitMQ, Redis(里面有简单的消息交换),微软有消息云服务等。如果应用不复杂,可以采用DB做个简单的消息中心,建议采用HTTP接口来获取与写入消息,方便将来升级重构消息中心。 开发环境VS2012,Framework4.0,代码注释量很大,如果你高兴这代码你可以随意蹂躏,如果你有建设性意见请告诉我。 下面是部分测试代码: //发送消息方法容器 var msgContainer = new Hashtable(); //创建并启动工作者 foreach (var key in workers.Keys) { //创建工作者 //启动5个线程,异步事件回调,方法执行20秒超时,程序跑起来有100个线程,由于引入超时控制,实际线程将达100+50 //下面的20个工作组,有5个是超时的,主要测试OnTimeout事件,你可以设置seleep的时间来控制 //我把sleep的时间设置的有点长,方便你测试 //测试的时候你会看见有异常,那是应为Timeout我采用的是Thread.Abort方法,这样才出发了ontimeout事件 var worker = new Sehui.Worker(5, key.ToString(), (Func)workers[key], false, new TimeSpan(0, 0, 20)); worker.OnStart += worker_OnEvent; worker.OnSuccess += worker_OnEvent; worker.OnFailure += worker_OnEvent; worker.OnTimeout += worker_OnEvent; //启动工作者 worker.Start(); //将增加消息方法放到Hashtable中 //这里我是偷懒,下面可以用循环的方式往线程中add message msgContainer.Add(key.ToString(), new Func(worker.AddTask)); } //向20个工作者发送消息,每个工作者发送20条消息 for (var i = 0; i < 20; i++) { for (var k = 0; k < 20; k++) { ((Func)msgContainer["SyncDb" + k])("[Work " + k + "] Message " + i); Console.WriteLine("send msg to worker{0},msgid:{1}", k, i); } }
2024-01-25 05:05:28 1.56MB Thread Func Delegate 异步事件
1
chatgpt3.5多线程聚合AI原创文章生成,需要gpt3.5key和电脑能访问openai
2024-01-24 20:59:43 12.86MB 人工智能
1
目前任务需要做一个界面程序,PyQt是非常方便的选择,QT丰富的控件以及python方便的编程。近期遇到界面中执行一些后台任务时界面卡死的情况,解决了在这里记录下。 PyQt PyQt简介 PyQt是Qt的python接口,PyQt的文档较少,但接口和函数可以完全参照Qt,继承了Qt中大量的控件以及信号机制,十分方便。以下简介一个基本的PyQt程序。 – 需要导入的类主要来自三个包 – from PyQt5.QtWidgets import 常用的控件 – PyQt5.QtCore 核心功能类,如QT,QThread,pyqtSignal – PyQt5.QtGui UI类,如QFont –
2024-01-23 00:02:54 61KB pyqt python python函数
1