什么时候解决 winhttp compython 多线程程下 内存泄漏 句柄增加问题

【分享】解决了多线程冲突问题,避免了多线程奔溃! _ 综合讨论 - 按键精灵论坛
腾讯微博:
软件版本:2014.05软件大小:21.6M更新时间:07-04
软件版本:3.2.9软件大小:62.5M更新时间:12-07
软件版本:1.3.1软件大小:29.2M更新时间:09-29
软件版本:1.1.0软件大小:12.3M更新时间:12-29
查看: 2260|回复: 1
[心得分享]
抗战胜利70周年勋章抗战胜利70周年活动的专属勋章单身汪勋章单身贵族的专属勋章按键14周年庆纪念勋章按键14周年庆纪念勋章(360天)黄瓜勋章(永久)体验商业小精灵活动的奖励按键精灵开发者6级可通过提升认证等级来升级勋章:rz.anjian.com按键会员(月)按键会员绑定账号后自动赠送小红帽对论坛提出良好建议(可向管理员申请)
首先我看到了果兒【院刊】-【201503期】用互斥体解决多线程资源冲突问题虽然她给的例子调试没问题,但是放进我写的脚本里就没效果,一直不明白是什么问题!DimEnv 登陆, n, 传参互斥体
登陆 = 创建互斥体()
For n = 100 To 1000 Step 100
传参互斥体 = True
BeginThread 游戏交易
While 传参互斥体
//以下是防止主线程结束
TracePrint Now
Delay 1000
Sub 游戏交易()
传参互斥体 = False
Call 锁定(登陆, 60*60*1000)
//登录帐号
For i = 0 To 100
TracePrint &【& & id & &】正在登陆。。。& & i
Call 解锁(登陆)
Sub OnScriptExit()
TracePrint &关闭互斥体&
Call 关闭互斥体(登陆)
Declare Function CreateMutex Lib &kernel32& Alias &CreateMutexA& (lpMutexAttributes As Long , ByVal bInitialOwner As Long, ByVal lpName As String) As Long
Declare Function ReleaseMutex Lib &kernel32& Alias &ReleaseMutex& (ByVal hMutex As Long)
Declare Function WaitForSingleObject Lib &kernel32& Alias &WaitForSingleObject& (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Declare Function CloseHandle lib &kernel32& (hdr as long) as Long
Function 创建互斥体()
'/*随机生成互斥体名称
Dim TempStr, i
TempStr = &anjian_mutex_&
For i = 0 To 12
TempStr = TempStr & Chr((24 * Rnd) + 65)
创建互斥体 = CreateMutex(0, true, TempStr)
End Function
Function 锁定(Hdr, Max)
锁定 = WaitForSingleObject(Hdr, Max)
End Function
Function 解锁(Hdr)
Call ReleaseMutex(Hdr)
End Function
Sub 关闭互斥体(hdr)
Call CloseHandle(hdr)
复制代码之后我又发现了大神jimcnab的严格精确保证多线程多脚本同时运行,操作不冲突的解决方法(进程/脚本操作互斥)发现这个就是我要找的,我改进了下:DimEnv 登陆, n, 传参互斥体
登陆 = 临界区创建()
For n = 100 To 1000 Step 100
传参互斥体 = True
BeginThread 游戏交易
While 传参互斥体
//以下是防止主线程结束
TracePrint Now
Delay 1000
Sub 游戏交易()
传参互斥体 = False
登陆句柄 = 临界区进入(登陆, 60*60*1000)
//登录帐号
For i = 0 To 100
TracePrint &【& & id & &】正在登陆。。。& & i
Call 临界区退出(登陆句柄)
Sub OnScriptExit()
TracePrint &关闭互斥体&
Call 临界区销毁(登陆)
Function 临界区创建()
Dim tmPath, TempStr, i
TempStr = &anjian_smwh_ljq_mutex_&
For i = 0 To 12
TempStr = TempStr & Chr((24 * Rnd) + 65)
tmPath = CreateObject(&Scripting.FileSystemObject&).GetSpecialFolder(2) & &\& & TempStr
Call Plugin.File.WriteFileEx(tmPath, &临界区文件&)
Delay 1500
If Plugin.File.IsFileExist(tmPath) Then
临界区创建 = TempStr
End Function
Function 临界区进入(互斥体, 超时)
Dim tmPath, lockWaitTime, 互斥体句柄
tmPath = CreateObject(&Scripting.FileSystemObject&).GetSpecialFolder(2) & &\& & 互斥体
If Not Plugin.File.IsFileExist(tmPath) Then
TracePrint &出错!互斥体不存在!&
ExitScript
If IsNumeric(超时) = False Or 超时 = && Or 超时 = 0 Then 超时 = 60 * 60 * 1000
lockWaitTime = Plugin.Sys.GetTime()
互斥体句柄 = Plugin.File.OpenFile(tmPath)
While 互斥体句柄 &= 0 And Plugin.Sys.GetTime() - lockWaitTime & 超时
互斥体句柄 = Plugin.File.OpenFile(tmPath)
If Plugin.Sys.GetTime() - lockWaitTime & 超时 Then
临界区进入 = False
临界区进入 = True
临界区进入 = 互斥体句柄
End Function
Function 临界区退出(互斥体句柄)
If 互斥体句柄 & 0 Then
Call Plugin.File.CloseFile(互斥体句柄)
临界区退出 = True
临界区退出 = False
End Function
Function 临界区销毁(互斥体)
Dim tmPath
tmPath = CreateObject(&Scripting.FileSystemObject&).GetSpecialFolder(2) & &\& & 互斥体
If Plugin.File.IsFileExist(tmPath) Then
Call Plugin.File.DeleteFile(tmPath)
临界区销毁 = True
临界区销毁 = False
End Function
复制代码大家测试下就知道哪个好用!
游戏、办公、网页、脚本辅助定制联系QQ: 淘宝店铺:
过大年勋章俩小福娃给大家拜年啦!按键精灵开发者4级可通过提升认证等级来升级勋章:rz.anjian.com
谢谢分享。。。
以建会友,共同学习,共同进步。无偿帮助解答各种简单小问题。&>&DNF外挂易语言源码
DNF外挂易语言源码
上传大小:2.07MB
更换新皮肤 (13)
时钟1.时钟周期 = 500
显示鼠标 (1)
进程ID = 取窗口进程ID (WINHTTP.取窗口句柄 ())
标签1.标题 = “当前注入进程:” + 到文本 (取进程名 (进程ID))
内存.提升权限 ()
内存.打开进程 (进程ID)
基址 = 读内存整数型 (进程ID, 十六到十 (“010CF69C”), )
商店 = 读内存整数型 (进程ID, 十六到十 (“”), )
SSS = 热键.注册 (WINHTTP.取窗口句柄 (), , #F1键, &SSS)
关连击 = 热键.注册 (WINHTTP.取窗口句柄 (), 0, #F2键, &鬼剑士)
关倍攻 = 热键.注册 (WINHTTP.取窗口句柄 (), 0, #F3键, &格斗家)
魔法师 = 热键.注册 (WINHTTP.取窗口句柄 (), 0, #F4键, &魔法师)
圣职者 = 热键.注册 (WINHTTP.取窗口句柄 (), 0, #F5键, &圣职者)
神枪手 = 热键.注册 (WINHTTP.取窗口句柄 (), 0, #F6键, &神枪手)
无敌 = 热键.注册 (WI
NHTTP.取窗口句柄 (), 0, #F7键, &无敌)
连发 = 热键.注册 (WINHTTP.取窗口句柄 (), 0, #F8键, &连发)
出售 = 热键.注册 (WINHTTP.取窗口句柄 (), 0, #Del键, &出售)
修理 = 热键.注册 (WINHTTP.取窗口句柄 (), 0, #End键, &修理)
WINHTTP.宽度 = 239
WINHTTP.高度 = 337
...展开收缩
综合评分:4(18位用户评分)
下载个数:
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有3条
源码的思路可以学习.有参考价值...
对现在新版本的TP已经好像失效了
源码写得不错,只不过都是读写内存的操作,可这是网络游戏,不是单机,单纯的读写内存是没用的。只有发送封包到服务器才有用。
综合评分:
积分/C币:3
综合评分:
积分/C币:3
综合评分:
积分/C币:3
综合评分:
积分/C币:3
综合评分:
积分/C币:3
综合评分:
积分/C币:3
综合评分:
积分/C币:3
综合评分:
积分/C币:3
综合评分:
积分/C币:3
综合评分:
积分/C币:3
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
DNF外挂易语言源码
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
(仅够下载10个资源)
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
DNF外挂易语言源码他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)&&&&更多内容·&·&·&·&·&·&·&·&·&·&&&&&熱帖排行&&&頻道精選微信扫码关注本站公众号 wangchaonetcn&  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味著赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。王朝女性&&&|&&&&|&&&&|&&&&|&&&&|&&&&|&&&&|&&&&|&&&&|&&&&|&&&&|&&&&|&&王朝分栏&&&|&&&&|&&&&|&&&&|&&&&|&&&&|&&&&|&&&&|&&&&|&&&&|&&王朝編程&&&|&&&&|&&&&|&&&&|&&&&|&&&&|&&&&|&&&&|&&&&|&&&&|&&王朝简体&&&|&&&&|&&&&|&&&&|&&&&|&&&&|&&&&|&&&&|&&&&|&&&&|&&王朝其他&&&|&&&&|&&&&|&&&&|&&&&|&&&&|&&&&&&2005-&&版權所有&}

我要回帖

更多关于 com组件多线程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信