🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: cn.bbs.comp.program
1 messages
1 total messages Started by ���ܵ�Сʨ Thu, 07 May 1998 00:00
Windows95�¶��̱߳�̼�������ʵ��
#1074
Author: ���ܵ�Сʨ
Date: Thu, 07 May 1998 00:00
155 lines
13893 bytes
    ��������
    ��������ڿ�������Internet���ϵĿ��ӵ绰���������������
һ������,���ڻ���It ernet���ϵĿ��ӵ绰ϵͳ��,ͬʱҪ��������
�ɼ������������롢ͼ��ɼ���ͼ������롢������ͼ�������Ĵ���
,������Щ����,��Ҫ���д��?�ر��������ź�,������ͼ����
��ʱ���,�����źŵò�������,ͨ�����м��;���ͼ���������
��ʱ���,���ܼ�ʱ�����������,ͨ��ͬ��Ҳ���жϡ������Ҫ
������ʵ��һ�ֲ��б��,��ֻ��һ��CPU�Ļ�����,Ҳ����Ҫ����CPU
ʱ�䰴ʱһ��������׼����������¼�,���ڴ�����¼�,����
ijһ�¼��������32λWindows95��Windows NT��,���ǿ����ö�
�̵߳Ĵ��?����ʵ�����ֲ��д��?ʵ����,���ֲ��б���ںܶ�
�����¶��DZ���ġ�����,��File Manager�����ļ�ʱ,����ʾһ����
�����а���һ��Cancel��ť��������ļ����������,����Cancl��
ť,�ͻ���ֹ��������16λWinows��,ʵ�����๦����Ҫ��File Copy
ѭ���ڲ������Եص���PeekMessage����������ڶ�һ���ܴ�Ķ�
��;�������̶��ļ�,��Ҫ���Ѻü����ʱ�䡣���ڻ�����Ӧ̫�ٶ�
,�û���Ƶ���ص��������ť,��Ϊϵͳ��֪������ֹ������������
��File Copyָ���������һ���߳�,�Ͳ���Ҫ�ڴ����з�һ���Peek
Message����,�����û�������߳̽�����ֿ�����,����Cancel��ť
��������õ���Ӧ��ͬ��ĵ���,��Ӧ�ó����д���һ�������߳���
�������д�ӡ����Ҳ�Ǻ����õ�,�û������ڴ�ӡ����ʱ����ʹ��Ӧ
��

    �̵߳ĸ���
    Ϊ���˽��̵߳ĸ��� ,���DZ���������һ�½�̵ĸ��һ����
��ͨ������Ϊ�����һ��ʵ����32λWindows��,���ռ��4GB����
���ַ�ռ䡣��������MS-DOS��16λWindows����ϵͳ�в�ͬ,32λWi
ndows�����û�л����ġ������˵,һ��32λWindows��̲���ִ��
ʲôָ��,��ֻ��ռ����4GB�ĵ�ַ�ռ�,�˿ռ�����Ӧ�ó���EXE�ļ�
�Ĵ������ݡ�
    EXE��Ҫ��DLLҲ�����ǵĴ�������װ�뵽��̵ĵ�ַ�ռ䡣��
�˵�ַ�ռ�,��̻�ռ��ijЩ��Դ,�����ļ�����̬�ڴ������̡߳�
�������ֹʱ,�����������д����ĸ�����Դ�������
    ��������,�����û�л�����,��ֻ��һ����̬�ĸ��Ϊ���ý�
�����һЩ����,��̱�������ռ��һ�߳�,�����߳�����������ڵ�
ִ��,�����̸߳���ִ�а��ڽ�̵ĵ�ַ�ռ��еĴ��롣ʵ����,��
����̿��ܰ���߳�,���ǿ���ͬʱִ�н�̵ĵ�ַ�ռ��еĴ�
�롣Ϊ��������һ��,ÿ���߳����Լ���һ��CPU�Ĵ�����׵��ÿ����
��������һ����ַ����ִ�����ַ�ռ��еĴ���,���û���߳�ִ��
��̵ؿռ��еĴ���,���û���߳�ִ�н�̵�ַ�ռ��еĴ���,���
Ҳ��û�м�����ڵ�����,ϵͳ���Զ�����̼����ַ�ռ䡣Ϊ��
����������Щ�߳�,����ϵͳΪÿ�������̰߳���һЩCPUʱ��,����
ϵͳ����ת��ʽ���߳��ṩʱ��Ƭ,��͸���һ�ּ���,������Щ�߳�
����ͬʱ���С�����һ��32λWindows���ʱ,��ĵ�һ���̳߳�Ϊ��
�߳�,��ϵͳ�Զ����,Ȼ�����������߳���ɶ�����߳�,��Щ��
���ֿ���ɸ����̡߳�

    �̵߳ı�̼���

    1.��д�̺߳���
    �����̱߳����һ��ָ���ĺ���ʼִ��,�ú����Ϊ�̺߳���,
������������ԭ��D WORD WINAPI YourThreadFunc(LPVOID lpvT.h
readParm);
    �ú�������һ��LPVOID�͵IJ���,������һ��DWORD�͵�����,Ҳ
������һ��ָ��һ���������ָ��,����һ��DWORD�͵�ֵ����WinMai
n����һ��,��������ɲ���ϵͳ����,����ϵͳ���ð���KERNE
L32.DLL�еķ�C����ʱ��һ���ڲ�����,��StartOfThread,Ȼ����t a
rtOfThread��������һ���쳣�����ܺ�,�������ǵĺ���
    2.����һ���߳�
    һ����̵����߳����ɲ���ϵͳ�Զ����,���Ҫ��һ�����߳�
����������߳�,���Ե���CreateThread����ɡ���ʽ����:
    HANDLE CreateThread(LPSECURITY_ATTRIBUTES jpsa.DWORD cbs
tack,LPTHREAD_STAR_ ROUTINE lpStartAddr.LPVOID lpvThreadParm
,DWORD fdwCreate,LPDWORD lpIDThread);
    �������������:
    lpsa:��һ��ָ��SECURITY_ATTRIBUTES�ṹ��ָ�롣������ö�
��Ϊȱʡ��ȫ���ԵĻ�,���Դ�һ��NULL;���������һ���ӽ�̶���
�̳и��̶߳�����,����ָ��һ��SECURIT_ ATTRIBUTES�ṹ,����b
InheritHandle��Ա��ʼ��ΪTURE��
    cbstark:��ʾ�߳�Ϊ�Լ����ö�ջ����ĵ�ַ�ռ��С,0��ʾ��
��ϵͳȱʡֵ��
    lpStartAddr:��ʾ���߳̿�ʼִ��ʱ�������ں���ĵ�ַ,��Ϊ
�̺߳���
    lpvThreadParm:�Ǵ����̺߳���IJ���
    fdwCreate:ָ�������̴߳����ĸ��ӱ�־,����ȡ����ֵ�����
�ò���Ϊ0,�߳̾ͻ�������ʼִ��;���ò���ΪCREATE_SUSPENDED,
��ϵͳ�����̺߳�,��ʼ��CPU,�Ǽ�CONTEXT�ṹ�ij�Ա,׼����ִ��
���̺߳����еĵ�һ��ָ��,����������ִ��,���ǹ�����̡߳�
    lpIDThrdad:��һ��DWORD���͵�ַ,���ظ�������̵߳�IDֵ��
    3.��ֹ�߳�
    ���ij�̵߳�����ExitThread����,�Ϳ�����ֹ�Լ�,��:
    VOID ExtThead(UNIT fuExitCode);
    �������Ϊ���øú�����߳��������˳���fuExitCode��,����
ֹ���̡߳�
    ����TerminateThread���������ֹ�̡߳���:
    BOOL TerminateThread(HANDLE hThread,DWORD dwExitCode);
    �ú�������������hThread����ָ�����߳�,����dwExitCode���
���̵߳��˳��롣
    ��ij���̲߳�����Ӧʱ,���ǿ����������̵߳��øú������տ�
�������Ӧ���̡߳�
    4.�趨�̵߳�������ȼ�
    ��һ���̱߳��״δ���ʱ,������ȼ���ͬ����������̵�����
�����ڵ�������ڿ���ͨ�����SetThreadPrionrity����ı��̵߳�
������ȼ���һ���̵߳����ȼ���������������Ľ�����ȼ����Ե�
��
    BOOL SetThreadPriority(HANDLE hThread,intnPriority);
    ���в���hThread��ָ����޸����ȼ��̵߳ľ��,nPriority��
�������µ�ֵ:
    THREAD_PRIORITY_LOWEST
    THREAD_PRIORITY_BELOW_NORMAL
    THREAD_PRIORITY_NORMAL
    THREAD_PRIONRITY_ABOVE_NORMAL
    THREAD_PRIONITY_HIGHEST��

    5.���𼰻ָ��߳�
    ǰ���ᵽ����Դ�������״̬���߳�,����ͨ���(CREATE_SUS
PENDED��־����Cra ted��ʵ�֡����������ʱ,ϵͳ����ָ���߳�
�ĺ��Ķ���,�����̵߳�ջ,��CONTEXT�ṹ�г�ʼ���߳�CPUע���Ա
��Ȼ��,�̶߳��󱻷�����һ����ʼ�������ֵ1,�����ϵͳ������
����CPUȥִ���̡߳�Ҫ��ʼִ��һ���߳�,��һ���̱߳������Resu
meThread�����ݸ������CreateThreadʱ���ص��߳̾���ʽ����
:
    DWORD ResumeThread(HANDLE hThread);
    һ���߳̿��Ա������Ρ����һ���̱߳�����3��,����߳���
�����CPU֮ǰ���뱻�ָ�3�Ρ������ڴ����߳�ʱʹ��CREATE_SUS
PENDED��־,��������SuspendThread��������̡߳���ʽ����:
    DWORD SuspendThread(HANDLE hThread)��

    ���̱߳�̼�����Ӧ��
    ��ǰ����,Ϊ��ʵ�ֻ���TCP/IP�µĿ��ӵ绰,�ͱ���"����"��ִ
�������ɼ�����������롢ͼ��ɼ���ͼ�����Լ�������ݵĽ���
�뷢�͡�������ͼ��IJɼ���Ӳ���ɼ�������,���dz���ֻ���ʼ��
��Ӳ���ɼ���,Ȼ��ʵʱ��ȡ�ɼ���ݼ���,��������ͼ����ݵı��
���Լ�������ݵĴ��䶼�����ɳ���ȥЭ��ִ��,��CPU����Ϊ������
������,��������ijһ���¼��ϴ����Windows 95�µ��߳�����
��������Ҫ��ı�̼�����
    ���ĸ��������Windows 95�������ö��̱߳�̼���ʵ�ֵĻ���
TCP/IP�Ŀ��ӵ绰�IJ���Դ��,���а��������ڹ�̺����Լ����ж�
�뱻�ж˵�TCP/IP�����̺߳���������������̺߳�������ͼ��
������ʵʱ�Ա����������봫��ģ���ʵʱ�Ե�Ҫ��Ҫ��Щ,����
�����������Ϊ�¼�ȥ��ͼ�����,Ȼ�����ͼ������,��û��Ϊͼ
������ȥ����ʵ��һ���̡߳�
    �������ڳ�ʼ��ʱ,��CREATE_SUSPENDED��־�����������߳�hTh
readG7231��hThreadC PRev��һ���������������,����̺߳���ΪG
723Proc,���̲߳��ϲ�ѯ�������ޱ�����������ͼ�������,����,
�����H.223���,Ȼ��ͨ��TCP�Ķ˿ڷ��͸�Է�������һ���߳���
��TCP/IP�Ľ���,����̺߳���ΪAcceptThreadProcRiv,���̲߳���
���TCP/IP�˿����޶Է�����������,����,�ͽ�������,����H.223��
���������Ӧ�Ļ�����û����������������������߳�G723Proc
��ѯ,��������Ӧ�Ľ�����,����ʹ���˶��̵߳ı�̼���,ʹ�ò���
ϵͳ��ʱȥ�������������ģ��ʹ���ģ��,�Ӷ�֤��ͨ�ŵIJ���
�ϡ�
    ����ע:Դ���򷢱��ڱ�����WWWվ����,��ַ��:http://www.com
puterworld.co.cn/si ll./skill.html,��ӭ�����߷��ʡ�

--
 ________ _____          _____        ______________  _____ 
 ___  __ \___(_)________ ___(_)       __  ___/___  /_ ___(_)
 __  /_/ /__  / ___  __ \__  /        _____ \ __  __ \__  / 
 _  ____/ _  /  __  /_/ /_  /         ____/ / _  / / /_  /  
 /_/      /_/   _  .___/ /_/          /____/  /_/ /_/ /_/   
                /_/                                         

�� ��Դ:���ϴ�С�ٺ���Ϣ����վ bbs.nju.edu.cn��[FROM: hsia.nju.edu.cn]
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads