精易论坛

标题: 关于多线程的调试输出,请教 [打印本页]

作者: 夏末雨蝉    时间: 2013-3-7 14:04
标题: 关于多线程的调试输出,请教
看图片,两个调试输出,为什么第一个调试输入能够调试出1,2,3,4,等变量,而第二个调试输出直接就是19了?表示不解。

QQ截图20130307135951.jpg (84.36 KB, 下载次数: 12)

如图

如图

作者: 精yì求精    时间: 2013-3-7 14:04
把变量ccc静态勾上或者放在全局变量或局部变量就行了,是不是想要这样。
[e]
.版本 2
.支持库 EThread
.支持库 spec

.子程序 _按钮1_被单击
.局部变量 i, 整数型

.计次循环首 (19, i)
    启动线程 (&子程序1, i, )
    延时 (10)
.计次循环尾 ()

.子程序 子程序1
.参数 参数1
.局部变量 ccc, 整数型, 静态

ccc = ccc + 1
调试输出 (参数1, ccc)
[/e]
作者: 末页    时间: 2013-3-7 14:13
源码,[qq]39471238[/qq]
作者: 夏末雨蝉    时间: 2013-3-7 14:14
末页 发表于 2013-3-7 14:13
源码,

= =源码已经截图了,就这么点
作者: 精yì求精    时间: 2013-3-7 14:46
不是很明白你想做什么。
[qq]2578824440[/qq]

作者: 夏末雨蝉    时间: 2013-3-7 14:51
精yì求精 发表于 2013-3-7 14:46
不是很明白你想做什么。

我意思是说,多线程启动子程序2,子程序二里面有两个调试输出(ccc),但调试输出的结果不一样,第一个调试输出能输出变量CCC,就是1,2,3等结果,而第二个调试输出就一直都是19.
作者: 夏末雨蝉    时间: 2013-3-7 14:51
夏末雨蝉 发表于 2013-3-7 14:51
我意思是说,多线程启动子程序2,子程序二里面有两个调试输出(ccc),但调试输出的结果不一样,第一个调试 ...

= =为什么会这样?
作者: 精yì求精    时间: 2013-3-7 14:56
你复制下7楼的代码,结果是
* 1 | 1
* 2 | 2
* 3 | 3
* 4 | 4
* 5 | 5
* 6 | 6
* 7 | 7
* 8 | 8
* 9 | 9
* 10 | 10
* 11 | 11
* 12 | 12
* 13 | 13
* 14 | 14
* 15 | 15
* 16 | 16
* 17 | 17
* 18 | 18
* 19 | 19
作者: 夏末雨蝉    时间: 2013-3-7 15:02
精yì求精 发表于 2013-3-7 14:56
你复制下7楼的代码,结果是
* 1 | 1
* 2 | 2

请看我的源码。两个调试输出结果不一,屏蔽掉其中一个更容易看出。

wenti.rar

111.3 KB, 下载次数: 6


作者: 精yì求精    时间: 2013-3-7 15:11
加点延迟
[e]
.版本 2
.支持库 EThread
.支持库 spec

.子程序 _按钮1_被单击
.局部变量 n, 整数型

.计次循环首 (20, n)
    启动线程 (&子程序1, n, )
    延迟 (20)
.计次循环尾 ()

.子程序 子程序1
.参数 参数1, 整数型
.局部变量 ccc, 整数型, 静态

ccc = ccc + 1
调试输出 (参数1, ccc)
编辑框1.加入文本 (到文本 (ccc) + “|”)
' 调试输出 (参数1, ccc)
[/e]
作者: 夏末雨蝉    时间: 2013-3-7 15:16
精yì求精 发表于 2013-3-7 15:11
加点延迟
[e]
.版本 2

= =你屏蔽第一个调试输出试试,不要屏蔽第二个,按理说,第二个调试输出的ccc不应该跟第一个调试输出的ccc的结果一样么?但结果却是一直20
作者: 末页    时间: 2013-3-7 15:27
[e]
.版本 2
.支持库 spec
.支持库 EThread

.子程序 _按钮1_被单击
.局部变量 n, 整数型
.局部变量 q, 字节集
.局部变量 c, 整数型

.计次循环首 (20, n)
    q = 到字节集 (到文本 (n))
    长度 = 取字节集长度 (q)
    c = 申请内存 (长度, 真)
    写到内存 (q, c, )
    启动线程 (&子程序1, c, )
    延迟 (200)
.计次循环尾 ()

.子程序 子程序1
.参数 参数1, 整数型
.局部变量 临时字节集, 字节集
.局部变量 文本, 文本型

释放内存 (参数1)
临时字节集 = 指针到字节集 (参数1, 长度)
输出调试文本 (到文本 (临时字节集))
[/e]




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4