.
实验8多线程
实验目的:在掌握基于消息的Windows程序构造和多线程程序设计方法的根底上,设计一个多线程同步程序。使学生能够从程序设计的角度了解多线程程序设计的方法和在Windows系统下多线程同步互斥的机制。
单一线程同时控制n,IDC_COUNTER,ebx,FALSE;将ebx+
.endwinvokeSetWindowText,hWinCount,addrszStart
;将按钮文本显示为开场invokeEnableWindow,hWinPause,FALSE
;禁用暂停按钮anddwOption,not(F_COUNTINGor
F_STOPorF_PAUSE)ret
Counter
endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
5>>>>>>>>>>
_ProcDlgMainprocusesebxediesihWnd,wMsg,wParam,lParamlocaldwThreadIDmoveax,wMsg
・********************************************************************
.ifeax==WM_MANDmoveax,wParam
.ifax==IDOK点了开场计数
.ifF_COUNTING
ordwOption,F_STOP
.elseinvoke
CreateThread,NULL,0,offset_Counter,NULL,dwThreadID;创立运行_Counter按钮控制的的新线程invoke
CloseHandle,
dwOption&
NULL,addr
.elseifax==IDC_PAUSExor
xor
dwOption,F_PAUSE
暂停的另个线程
;如果点了暂停将存储pause发送给控制
.endif
・**********************************************************5
**********.elseifeax==WM_CLOSE
invokeEndDialog,hWnd,NULL・**********************************************************
5**********
.elseifeax==WM_INITDIALOG对话框创立完毕而未显示时
pushhWndpophWinMaininvokeGetDlgItem,hWnd,IDOK
;将参数IDOK的句柄赋给hWinCountmovhWinCount,eax
invokeGetDlgItem,hWnd,IDC_PAUSE;将参数IDPAUSE勺句柄赋给hWinPause
movhWinPause,eax・**********************************************************
5**********
.elsemoveax,FALSEret
.endifmoveax,TRUEret
_ProcDlgMainendp;>
汇编实验8多线程 来自淘豆网m.daumloan.com转载请标明出处.