搜索
aardio官方社区 门户 查看主题

关于多线程的问题请教大家!

发布者: winning | 发布时间: 2011-12-5 14:17| 查看数: 7186| 评论数: 6|帖子模式

//多线程管理器
import thread.manage;

//创建线程管理器

manage = thread.manage(3)

io.open()

func =
function(name){
   
import win;
   
for(i=1;10;1){
        io.print( thread.getId(),name )
        
if(!win.delay(100) ){
            io.print(
"收到退出指令")
            
return;
        }
    }
   
return topointer(67);
}


manage.create(func,
"线程1").onEnd = function(...){
    io.print(
"线程1的回调",...)
}

manage.createLite(func,
"线程2").onEnd = function(...){
    io.print(
"线程2的回调",...)
}

manage.create(func,
"线程3")

manage.waitClose()

io.print("全部退出")

创建的这些线程好像不是同时执行的, 我目的是想创建的线程在同一时间执行,  比如:
创建线程1;
创建线程2;
创建线程3:
所有线程开始启动工作;

不知具体如何实现了!  请教下高手...

最新评论

qqmmcc 发表于 2011-12-5 14:42:42

多线程是抢占式运行的

多线程是抢占式运行的
神码 发表于 2011-12-5 15:08:05

多线程当然是并发执行的。 不然要多此一举搞什么多线程。 但是你的控制台窗口只有一个,所以你看到信息是先后输出来。 这就好象一堆人从一个门里挤出来,肯定

多线程当然是并发执行的。
不然要多此一举搞什么多线程。

但是你的控制台窗口只有一个,所以你看到信息是先后输出来。
这就好象一堆人从一个门里挤出来,肯定不可能同时出来。



神码 发表于 2011-12-5 15:09:19

线程创建,执行,都是需要时间的,现实一些不要太完美的去构想你写的程序。

线程创建,执行,都是需要时间的,现实一些不要太完美的去构想你写的程序。
winning 发表于 2011-12-5 15:19:23

明白了...谢谢楼上两位朋友的解释~!

明白了...谢谢楼上两位朋友的解释~!
aoqi521 发表于 2013-12-10 15:33:38

感谢楼主解释~

感谢楼主解释~
kaba47 发表于 2016-4-24 19:20:47

学到新东西

学到新东西

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2017-11-21 16:10 , Processed in 0.078125 second(s), 18 queries , WinCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表