# 多线程创建、以及线程方法
# 创建一个线程、并操作该线程的步骤:
# 一、定义线程变量
thread = THREAD() #定义一个线程变量,THREAD()是内置函数
# 二、写线程函数,注意在线程函数中,不能使用return指令退出线程
def ThreadFunc(x,y) #线程函数名没有限制,x,y是线程函数的参数
{
for i in range(0,100,1)
{
print("打印线程参数: % %\n",x,y)
}
}
# 三、利用线程方法创建线程
thread.CreateThread(ThreadFunc,1,2) #无返回
# CreateThread是个内置的线程创建方法,该方法的第一个参数必须是
# 线程函数名,后面的参数是线程函数的参数,必须一一对应,如该例
# 中,实参 1 对应形参 x,实参 2 对应形参 y,顺序不能错。
# 四、新创建的线程默认是处于悬挂状态,不会执行,需要启动线程
thread.strat() #无参数、无返回。
# 该start()方法启动线程工作,直到线程执行完毕,自动回收资源,
# 无需程序员干预。
# 五、将线程设为悬挂状态,暂停执行
thread.suspend() #无参数、无返回。
# 不论线程是否处于执行状态,suspend()方法将强制该线程进入悬挂状态
# 六、线程同步
thread.join() #无参数、无返回。
# 该方法强制主线程进入悬挂状态,等待该子线程运行结束后,主线程继
# 续运行,可以多次使用,迫使主线程等待多个子线程全部运行结束,主
# 再继续运行
# 七、线程互斥
thread.locked() #无参数、无返回。
thread.unlock() #无参数、无返回。
# 当不同的线程需要操纵同一个变量、或事件,为避免“碰撞”破坏数据,
# 使用locked()方法,限制线程切换,直到当前线程“干完事件”,
# 再使用unlock()方法释放限制权,继续多线程工作
# 八、获取线程ID
thread.getlockID() #无参数,返回当前线程的ID号。
# 九、删除线程
thread.delete() #无参数、无返回。
# 该方法将删除thread对象,但是,不影响任务队列中的对象