zoukankan      html  css  js  c++  java
  • [C++] socket

    /*WINAPI 线程同步*/
    #include<windows.h>
    #include<stdio.h>
    DWORD WINAPI myfun1(LPVOID lpParameter);//声明线程函数
    DWORD WINAPI myfun2(LPVOID lpParameter);
    static int a=0;
    CRITICAL_SECTION Section;
    int main()
    {
        HANDLE h1,h2;//定义句柄变量
        InitializeCriticalSection(&Section);
        h1=::CreateThread(NULL,0,myfun1,NULL,0,NULL);//创建线程1
        printf("线程1开始运行!
    ");
        h2=::CreateThread(NULL,0,myfun2,NULL,0,NULL);//创建线程2
        printf("线程2开始运行!	
    ");
        ::CloseHandle(h1);//关闭线程句柄对象
        ::CloseHandle(h2);
        ::Sleep(10000);
        printf("正常退出请按'q'
    ");
        if(getchar()=='q')
        {
            DeleteCriticalSection(&Section);
        }
        else 
        {
            return 0;
        }
    }
    DWORD WINAPI myfun1(LPVOID lpParameter)//线程函数
    {
        while(1)
        {
            EnterCriticalSection(&Section);
            a++;
            if(a<100)
            {
                printf("线程1正在计数%d
    ",a);
                LeaveCriticalSection(&Section);
                ::Sleep(1000);
            }
            else 
            {
                LeaveCriticalSection(&Section);
                break;
            }
        }
        return 0;
    }
    DWORD WINAPI myfun2(LPVOID lpParameter)
    {
        while(1)
        {
            EnterCriticalSection(&Section);
            a++;
            if(a<100)
            {
                printf("线程2正在计数%d
    ",a);
                LeaveCriticalSection(&Section);
                ::Sleep(1000);
            }
            else 
            {
                LeaveCriticalSection(&Section);
                break;
            }
        }
        return 0;
    }
  • 相关阅读:
    软件评价——360安全卫士
    对于软件工程课程的疑问
    附加作业
    个人最终总结
    结对编程 电梯调度程序
    读程序作业
    VS2015 单元测试
    VS2015 的安装过程
    四则运算程序
    对于软件的点评
  • 原文地址:https://www.cnblogs.com/zjutlitao/p/3607653.html
Copyright © 2011-2022 走看看