搜索
查看: 8220|回复: 6

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

[复制链接]

14

主题

54

帖子

478

积分

二级会员

Rank: 3Rank: 3

积分
478
发表于 2011-12-5 14:17:25 | 显示全部楼层 |阅读模式
//多线程管理器
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:
所有线程开始启动工作;

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

使用道具 举报

52

主题

1340

帖子

7326

积分

荣誉会员

Rank: 8Rank: 8

积分
7326
发表于 2011-12-5 14:42:42 | 显示全部楼层

多线程是抢占式运行的

多线程是抢占式运行的
回复

使用道具 举报

5

主题

442

帖子

2425

积分

五级会员

Rank: 8Rank: 8

积分
2425
发表于 2011-12-5 15:08:05 | 显示全部楼层

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

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

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



回复

使用道具 举报

5

主题

442

帖子

2425

积分

五级会员

Rank: 8Rank: 8

积分
2425
发表于 2011-12-5 15:09:19 | 显示全部楼层

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

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

使用道具 举报

14

主题

54

帖子

478

积分

二级会员

Rank: 3Rank: 3

积分
478
 楼主| 发表于 2011-12-5 15:19:23 | 显示全部楼层

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

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

使用道具 举报

0

主题

14

帖子

82

积分

一级会员

Rank: 2

积分
82
发表于 2013-12-10 15:33:38 | 显示全部楼层

感谢楼主解释~

感谢楼主解释~
回复

使用道具 举报

1

主题

54

帖子

369

积分

培训班

积分
369
发表于 2016-4-24 19:20:47 | 显示全部楼层

学到新东西

学到新东西
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2018-9-26 03:05 , Processed in 0.078125 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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