/*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);//创建线程1printf("线程1开始运行!\r\n");h2=::CreateThread(NULL,0,myfun2,NULL,0,NULL);//创建线程2printf("线程2开始运行!\t\n");::CloseHandle(h1);//关闭线程句柄对象
    ::CloseHandle(h2);::Sleep(10000);printf("正常退出请按'q'\r\n");if(getchar()=='q'){DeleteCriticalSection(&Section);}else {return 0;}
}
DWORD WINAPI myfun1(LPVOID lpParameter)//线程函数
{while(1){EnterCriticalSection(&Section);a++;if(a<100){printf("线程1正在计数%d\r\n",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\r\n",a);LeaveCriticalSection(&Section);::Sleep(1000);}else {LeaveCriticalSection(&Section);break;}}return 0;
}

转载于:https://www.cnblogs.com/zjutlitao/p/3607653.html

[C++] socket - 4 [线程同步 简单例子]相关推荐

  1. windows下socket开发tcp程序 简单例子

    转载自:http://blog.csdn.net/trbbadboy/article/details/7408003 Windows下的简单tcp例子.代码均在VC6.0下调试过.服务器代码: //T ...

  2. java线程的简单例子(Thread and runnable)

    http://interper56-sohu-com.iteye.com/blog/172303 其实要了解java多线程只需要理解以下几个事情: 1) java.lang.Thraed类 2) ja ...

  3. 【Boost】boost库中thread多线程详解6——线程组简单例子

    如果你需要创建几个线程,考虑使用一个线程组对象thread_group来组织它们.一个thread_group对象可以使用多种方法管理线程.首先,可以使用一个指向动态创建的线程对象的指针作为参数来调用 ...

  4. java 线程死锁简单例子_java 多线程死锁详解及简单实例

    java 多线程死锁 相信有过多线程编程经验的朋友,都吃过死锁的苦.除非你不使用多线程,否则死锁的可能性会一直存在.为什么会出现死锁呢?我想原因主要有下面几个方面: (1)个人使用锁的经验差异 (2) ...

  5. 线程同步小例子:12306订票

    package com.whut.study.syn;public class Happy12306 {public static void main(String[] args) {Web12306 ...

  6. 线程同步的例子:汪汪队立大功

    队长分配任务给某只狗狗之后就进入等待状态,该狗狗完成任务之后会唤醒他,他就接着分配下一个任务. public class PAW_Patrol {private static Lock lock = ...

  7. Java 线程同步 synchronized

    先来看一个不带线程同步的例子,这个例子很简单,只是让两个线程输出同样的内容,并不做其他的事,所以,线程同步在这里体现的并不明显. import java.util.Date;public class ...

  8. window下线程同步之(Event Objects(事件)) / 事件CEvent的使用

    篇一:http://www.cnblogs.com/staring-hxs/p/3666655.html Event 方式是最具弹性的同步机制,因为他的状态完全由你去决定,不会像 Mutex 和 Se ...

  9. C#通信之Socket通信的简单例子

    socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过"套接字"向网络发出请求或者应答网络请求. 这里构建一个简单的例子 ...

  10. C#使用读写锁三行代码简单解决多线程并发写入文件时线程同步的问题

    在开发程序的过程中,难免少不了写入错误日志这个关键功能.实现这个功能,可以选择使用第三方日志插件,也可以选择使用数据库,还可以自己写个简单的方法把错误信息记录到日志文件. 选择最后一种方法实现的时候, ...

最新文章

  1. Apache+MySQL+PHP安装指南
  2. Linux Netcat 命令——网络工具中的瑞士×××
  3. spring mvc中两种异常的处理手法
  4. springboot不能加载https的证书文件(二)
  5. DBA跳槽应该去大公司还是小公司?99%的人这样说...
  6. rdlc实现动态插入图片
  7. How to install innotop and percona tookit on centos
  8. MongoDB的下载、安装与部署
  9. 科研不是比赛,而是一种对未知和完美的自我追求——跟邢波(Eric Xing)面对面聊科研...
  10. php 微信支付md5签名,微信支付V3支付签名无效解决方案
  11. 【倒计时5天】PyCon China 2020 主题大揭秘!
  12. origin导出图片时出现input graph is invalid
  13. 塑料袋吹膜机多少钱一台_塑料袋制袋机多少钱一台-卓越机械(在线咨询)-塑料袋制袋机...
  14. 【Python图像处理】SciPy库
  15. 【HDLBits 刷题】所有答案直达链接汇总
  16. 一些网站...........
  17. 【Flink】学习笔记-20200302更新
  18. 在线视频观看系列二:视频搜索
  19. trojan-gamethief.win32.magania.alsz病毒解决方案
  20. 蓝牙芯片支持音频传输,播放U盘TF卡,还能传输数据透传串口控制

热门文章

  1. DropDMG for Mac(dmg打包软件)
  2. 使用Movavi Video Editor如何做局部的影片放大特效
  3. Android Studio 插件——《阿里巴巴 Java 开发规约》的扫描插件
  4. snmp+mrtg监控-note
  5. MSMTP+MUTT轻松实现服务器资源监控
  6. 剖析 ADO.NET 批处理更新
  7. 《基于Mozilla的扩展开发》系列文章
  8. 第一次发现国产剧能这么“好笑”,谢谢您嘞!!
  9. 5 张图带你搞懂容器网络的工作原理
  10. 牛皮!竟然有大佬基于 Spring Boot + Vue 开发了一套网易云QQ音乐(附源码)。。。...