<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>骨头软件工作室 &#187; 多线程</title>
	<atom:link href="http://www.gutou.cc/tag/%e5%a4%9a%e7%ba%bf%e7%a8%8b/feed" rel="self" type="application/rss+xml" />
	<link>http://www.gutou.cc</link>
	<description>专注于网络营销软件及自动办公软件开发</description>
	<lastBuildDate>Wed, 09 Jul 2025 05:26:45 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.0.33</generator>
	<item>
		<title>易语言彗星正则表达式源码</title>
		<link>http://www.gutou.cc/123.html</link>
		<comments>http://www.gutou.cc/123.html#comments</comments>
		<pubDate>Tue, 24 Jul 2012 14:07:10 +0000</pubDate>
		<dc:creator><![CDATA[骨头]]></dc:creator>
				<category><![CDATA[技术文章]]></category>
		<category><![CDATA[多线程]]></category>
		<category><![CDATA[彗星正则表达式]]></category>
		<category><![CDATA[易语言]]></category>
		<category><![CDATA[易语言对象]]></category>

		<guid isPermaLink="false">http://108.171.217.243/~gutou/?p=123</guid>
		<description><![CDATA[下面是彗星正则表达式模块源码。 .版本 2 .程序集 彗星正则表达式类, , 公开 .程序集变量 RegExp, 对象 .程序集变量 MatchCollection, 对象 .程序集变量 Match_Count, 整数型 .子程序 _初始化, , , 当基于本类的对象被创建后，此方法会被自动调用 . [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>下面是彗星正则表达式模块源码。<br />
<coolcode lang="javascript" linenum="off"><br />
.版本 2</p>
<p>.程序集 彗星正则表达式类, , 公开<br />
.程序集变量 RegExp, 对象<br />
.程序集变量 MatchCollection, 对象<br />
.程序集变量 Match_Count, 整数型</p>
<p>.子程序 _初始化, , , 当基于本类的对象被创建后，此方法会被自动调用</p>
<p>.子程序 _销毁, , , 当基于本类的对象被销毁前，此方法会被自动调用</p>
<p>RegExp.清除 ()<br />
MatchCollection.清除 ()</p>
<p>.子程序 创建, 逻辑型, 公开, 根据指定的正则表达式文本创建一个正则表达式对象。本对象中的原有内容将被释放<br />
.参数 正则表达式文本, 文本型, , 比如“易语言4\.0(模块|支持库)?”<br />
.参数 忽略大小写, 逻辑型, 可空, 可以被省略。默认值为真。本参数指定这个正则表达式在创建成功后进行匹配、搜索、替换时，是否区分大小写。<br />
.参数 匹配多行, 逻辑型, 可空, 可以被省略。默认值为真。如果本成员值为真，字符“^”不仅匹配目标文本的开头，而且匹配目标文本中换行符（字符(10)，字符(13)或 #换行符）的后面；字符“$”不仅匹配目标文本的结尾，而且匹配目标文本中换行符的前面。否则字符“^”仅仅匹配目标文本的开头，“$”也仅仅匹配目标文本的结尾。<br />
.参数 全局匹配, 逻辑型, 可空</p>
<p>MatchCollection.清除 ()<br />
RegExp.清除 ()<br />
RegExp.创建 (“VBScript.RegExp”, )<br />
.如果真 (RegExp.是否为空 ())<br />
    输出调试文本 (“对象创建失败:VBScript.RegExp”, “如果是在多线程里使用请先执行&#8217;初始化COM库&#8217;”)<br />
    返回 (假)<br />
.如果真结束<br />
.如果真 (是否为空 (忽略大小写))<br />
    忽略大小写 ＝ 真<br />
.如果真结束<br />
.如果真 (是否为空 (匹配多行))<br />
    匹配多行 ＝ 真<br />
.如果真结束<br />
.如果真 (是否为空 (全局匹配))<br />
    全局匹配 ＝ 真<br />
.如果真结束</p>
<p>Match_Count ＝ 0<br />
RegExp.写属性 (“IgnoreCase”, 忽略大小写)<br />
RegExp.写属性 (“Multiline”, 匹配多行)<br />
RegExp.写属性 (“Global”, 全局匹配)<br />
RegExp.写属性 (“Pattern”, 正则表达式文本)<br />
返回 (真)</p>
<p>.子程序 取文本, 文本型, 公开, 返回以文本形式表示的正则表达式。如果该对象尚未创建，则返回空文本。本命令为高级对象成员命令。</p>
<p>.如果真 (RegExp.是否为空 ())<br />
    返回 (“”)<br />
.如果真结束<br />
返回 (RegExp.读文本属性 (“Pattern”, ))</p>
<p>.子程序 替换, 文本型, 公开, 替换在正则表达式查找中找到的文本。<br />
.参数 欲被替换的文本, 文本型, , 将要进行文本替换的字符串<br />
.参数 用作替换的文本, 文本型, 可空, 用作替换的文本</p>
<p>返回 (RegExp.文本方法 (“Replace”, 欲被替换的文本, 用作替换的文本))</p>
<p>.子程序 搜索全部, 整数型, 公开, 使用指定的正则表达式搜索指定文本中与该表达式匹配的所有子文本。返回匹配结果数量<br />
.参数 欲被搜索的文本, 文本型</p>
<p>MatchCollection ＝ RegExp.对象型方法 (“Execute”, 欲被搜索的文本)<br />
Match_Count ＝ MatchCollection.读数值属性 (“Count”, )<br />
返回 (Match_Count)</p>
<p>.子程序 取匹配数量, 整数型, 公开</p>
<p>返回 (Match_Count)</p>
<p>.子程序 取匹配文本, 文本型, 公开<br />
.参数 匹配索引, 整数型, , 第几个匹配文本，索引值从1开始<br />
.局部变量 Match, 对象<br />
.局部变量 Value, 文本型</p>
<p>Match ＝ MatchCollection.读对象型属性 (“Item”, 匹配索引 － 1)<br />
Value ＝ Match.读文本属性 (“Value”, )<br />
返回 (Value)</p>
<p>.子程序 取子匹配文本, 文本型, 公开<br />
.参数 匹配索引, 整数型, , 第几个匹配文本，索引值从1开始<br />
.参数 子表达式索引, 整数型, , 欲取其值的子表达式。该参数对应与正则表达式中的一个子表达式（以圆括号标记）。索引从1开始。<br />
.局部变量 Match, 对象<br />
.局部变量 SubMatches, 对象<br />
.局部变量 Ret, 变体型</p>
<p>Match ＝ MatchCollection.读对象型属性 (“Item”, 匹配索引 － 1)<br />
SubMatches ＝ Match.读对象型属性 (“SubMatches”, )<br />
Ret ＝ SubMatches.读属性 (“Item”, 子表达式索引 － 1)<br />
返回 (Ret.取文本 ())</p>
<p>.子程序 取子表达式个数, 整数型, 公开<br />
.局部变量 Match, 对象<br />
.局部变量 SubMatches, 对象<br />
.局部变量 Ret, 整数型</p>
<p>.如果真 (Match_Count ＝ 0)<br />
    返回 (0)<br />
.如果真结束<br />
Match ＝ MatchCollection.读对象型属性 (“Item”, 0)<br />
SubMatches ＝ Match.读对象型属性 (“SubMatches”, )<br />
Ret ＝ SubMatches.读数值属性 (“Count”, )<br />
返回 (Ret)<br />
</coolcode></p>
<p><coolcode lang="javascript" linenum="off"><br />
.版本 2</p>
<p>.DLL命令 CoInitialize, 整数型, &#8220;ole32.dll&#8221;<br />
    .参数 pvReserved, 整数型</p>
<p>.DLL命令 CoUninitialize, , &#8220;ole32.dll&#8221;</p>
<p></coolcode></p>
<p><coolcode lang="javascript" linenum="off"><br />
.版本 2</p>
<p>.子程序 初始化COM库, 整数型, 公开, 在多线程的程序里创建COM对象前先初始化，一个线程只能调用一次</p>
<p>返回 (CoInitialize (0))</p>
<p>.子程序 取消COM库初始化, , 公开, 取消COM库的初始化</p>
<p>CoUninitialize ()</p>
<p></coolcode></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gutou.cc/123.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>易语言多线程使用彗星正则表达式</title>
		<link>http://www.gutou.cc/120.html</link>
		<comments>http://www.gutou.cc/120.html#comments</comments>
		<pubDate>Tue, 24 Jul 2012 14:05:27 +0000</pubDate>
		<dc:creator><![CDATA[骨头]]></dc:creator>
				<category><![CDATA[技术文章]]></category>
		<category><![CDATA[多线程]]></category>
		<category><![CDATA[彗星正则表达式]]></category>
		<category><![CDATA[易语言]]></category>
		<category><![CDATA[易语言对象]]></category>

		<guid isPermaLink="false">http://108.171.217.243/~gutou/?p=120</guid>
		<description><![CDATA[易语言的彗星正则表达式模块是一个很好的模块，但是在多线程中时候的时候遇到搜索内容大于80K以上的时候就容易出错，导致软件内存溢出。 临时解决方法,判断HTTP返回的问题长度,如果＞100K就返回不要往下执行 .版本 2 .如果真 (取文本长度 (文本) ＞ 102400) 返回 ()]]></description>
				<content:encoded><![CDATA[<p>易语言的彗星正则表达式模块是一个很好的模块，但是在多线程中时候的时候遇到搜索内容大于80K以上的时候就容易出错，导致软件内存溢出。</p>
<p>临时解决方法,判断HTTP返回的问题长度,如果＞100K就返回不要往下执行</p>
<p><coolcode lang="javascript" linenum="off"><br />
.版本 2</p>
<p>.如果真 (取文本长度 (文本) ＞ 102400)<br />
    返回 ()<br />
</coolcode></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gutou.cc/120.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>易语言多线程出错的问题</title>
		<link>http://www.gutou.cc/118.html</link>
		<comments>http://www.gutou.cc/118.html#comments</comments>
		<pubDate>Tue, 24 Jul 2012 13:56:52 +0000</pubDate>
		<dc:creator><![CDATA[骨头]]></dc:creator>
				<category><![CDATA[技术文章]]></category>
		<category><![CDATA[多线程]]></category>
		<category><![CDATA[易语言]]></category>
		<category><![CDATA[骨头软件]]></category>

		<guid isPermaLink="false">http://108.171.217.243/~gutou/?p=118</guid>
		<description><![CDATA[最近在给客户写软件,发现我这边一直没有发现出错的问题,但是客户的软件一运行多线程就出错,一直找不到问题,找了好久才找到解决方法,原来是CPU的问题,多线程对于双核CPU亲和性上有问题,现在找到问题的解决方法,顺便记录一下,或许有朋友遇到同样的问题,可以一起参考. .版本 2 .DLL命令 SetPr [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>最近在给客户写软件,发现我这边一直没有发现出错的问题,但是客户的软件一运行多线程就出错,一直找不到问题,找了好久才找到解决方法,原来是CPU的问题,多线程对于双核CPU亲和性上有问题,现在找到问题的解决方法,顺便记录一下,或许有朋友遇到同样的问题,可以一起参考.</p>
<p><coolcode lang="cpp" linenum="off"><br />
.版本 2</p>
<p>.DLL命令 SetProcessAffinityMask, 整数型, , , 公开, 设置CPU亲和性 进程句柄 返回CPU号<br />
.参数 hProcess, 整数型<br />
.参数 hProcess, 整数型</p>
<p>.DLL命令 SetThreadAffinityMask, 整数型, , , 公开, 设置CPU亲和性 线程句柄<br />
.参数 hProcess, 整数型<br />
.参数 Mask, 整数型</p>
<p>.DLL命令 GetCurrentProcess, 整数型, , , 公开, 获取当前进程的一个伪句柄 一般是-1</p>
<p>.DLL命令 GetCurrentThread, 整数型, , , 公开, 获取当前线程的一个伪句柄 一般是-2</p>
<p></coolcode></p>
<p>将以下代码放到易代码开始即可:<br />
<coolcode lang="cpp" linenum="off"><br />
SetProcessAffinityMask (-1, 1)<br />
</coolcode></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gutou.cc/118.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
