Fine语言多线程创建以及多线程方法汇总

# 多线程创建、以及线程方法

# 创建一个线程、并操作该线程的步骤:


# 一、定义线程变量

  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对象,但是,不影响任务队列中的对象



0