TC官方合作论坛

标题: 我写了几个函数,如何让这几个函数一个接一个的运行? [打印本页]

作者: 一念20133    时间: 2014-10-24 10:23
标题: 我写了几个函数,如何让这几个函数一个接一个的运行?
     为了实现一个功能,我把它分为了几个模块函数,要实现这个功能就必须让这几个功能函数一个接一个的运行。
我第一次使用的方法是设置一个全局变量,利用开启线程的方法,开启第一个线程(线程就是第一个模块函数,在模块函数执行完毕时,会改变该全局变量的值),然后紧接一个循环,在循环中检测该全局变量的值是否发生了改变,如果改变了就说明第一个模块函数执行完毕,否则就继续循环等待,直到发生改变。该全局变量发生改变之后,就可以继续开启第二个线程(第二个模块函数)。。。。但是我发现这种方法在运行中会经常出问题,比如不能向下执行或者直接卡死的情况。
    我现在想利用临界区来实现这几个模块函数的衔接    不知道可不可行?

作者: klyyz1980    时间: 2014-10-24 11:02
上代码
作者: sziamchl    时间: 2014-10-24 14:14
不要用线程.开启的方法调用功能,直接用空间名.功能名()这样写
例子如下,望采纳:


空间 功能逐个运行示例
//默认空间

//开始按钮_点击操作
功能 开始_点击()
    线程.开启("功能逐个运行示例.主线程","")  
功能结束


功能 主线程()
    功能逐个运行示例.功能A()   
    功能逐个运行示例.功能B()
功能结束

//上面这样写法,就会把功能A执行完了,再执行功能B


功能 功能A()
    //此处省略功能A的代码
功能结束


功能 功能B()
    //此处省略功能A的代码
功能结束



//退出按钮_点击操作
功能 退出_点击()
   
    辅助.退出()
功能结束

空间结束
//空间结束语句




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1