【叶子出品】FreeBasic争抢式多线程的简单范例
本帖最后由 叶子的离开 于 2015-1-8 18:21 编辑这个东西是一开始学FB时做的一个小测试代码
本身没什么参考价值,但对于从VB转到FB的人来说这东西可以解除一些迷惑。
另外多线程属于负优化功能,多用并不会使程序效率提升,反而会导致效率变差,尤其是争抢式,请慎用。
#Include "Windows.bi"
Dim Shared i As Long
Dim Shared MeMutex As Any Ptr
Sub Thread1(Param As DWORD)
Do While i < 100
MutexLock(MeMutex)
Print "线程" & Param & " - " & i
i += 1
MutexUnLock(MeMutex)
Loop
End Sub
Dim As Any Ptr t1,t2
Print "开始输出"
MeMutex = MutexCreate()
t1 = ThreadCreate(Cast(Any Ptr,@Thread1),Cast(Any Ptr,1))
t2 = ThreadCreate(Cast(Any Ptr,@Thread1),Cast(Any Ptr,2))
ThreadWait(t1)
ThreadWait(t2)
MutexDestroy(MeMutex)
Print "输出完毕"
Sleep
页:
[1]