并发 练习代码

#include

#include

#include

#include

using namespace std;

std::mutex mtx;

std::condition_variable cv;

char arr[] = { 'a','b','c' };

char message = 'a';

void test(int i) {

for(int j = ;j < ;++j){

std::unique_lock<:mutex> lk(mtx);

cv.wait(lk, [=] {return message == arr[i]; });

std::cout << arr[i];

message = arr[(i + ) % ];

lk.unlock();

cv.notify_all();

}

}

int main()

{

std::thread t[];

for (int i = ; i < ; ++i) {

t[i] = std::thread(test,i);

}

for (int i = ; i < ; ++i) {

t[i].join();

}

std::cout << std::endl;

return ;

}

Java多线程循环打印ABC的5种实现方法

https://blog.csdn.net/weixin_39723337/article/details/80352783 题目:3个线程循环打印ABC,其中A打印3次,B打印2次,C打印1次,循环 ...

多线程循环打印ABC

主要是利用线程的wait()和notify()来实现 public class MyThread implements Runnable { private String name; private ...

JAVA 多线程轮流打印ABC

采用Thread+Semaphore实现,思路很简单 import java.io.IOException; import java.util.concurrent.Semaphore; public ...

python多线程交替打印abc以及线程池进程池的相关概念

import threading import sys import time def showa(): while True: lockc.acquire() #获取对方的锁,释放自己的锁 prin ...

python 多线程实现循环打印 abc

python 多线程实现循环打印 abc 好久没写过python了, 想自己实践一下把 非阻塞版 import threading import time def print_a(): global ...

Java多线程wait和notify协作,按序打印abc

有一个经典的多线程面试题:启三个线程,按序打印ABC 上代码: package cn.javaBase.study_thread1; class MyRunnable1 implements Runn ...

C&plus;&plus;11多线程教学(二)

C++11多线程教学II 从我最近发布的C++11线程教学文章里,我们已经知道C++11线程写法与POSIX的pthreads写法相比,更为简洁.只需很少几个简单概念,我们就能搭建相当复杂的处理图片程 ...

C&plus;&plus;11多线程教学II

从我最近发布的C++11线程教学文章里,我们已经知道C++11线程写法与POSIX的pthreads写法相比,更为简洁.只需很少几个简单概念,我们就能搭建相当复杂的处理图片程序,但是我们回避了线程同步 ...

随机推荐

python支持mysql

MySQLdb只支持Python2.,还不支持3. 可以用PyMySQL代替.安装方法:pip install PyMySQL 然后在需要的项目中,把 init.py中添加两行: import pym ...

oracle 数据恢复&comma;只有oradata文件夹里的文件&comma;没有备份文件的数据库恢复&comma;重装系统后&comma;oracle 10g数据库恢复

格式化重装系统后,才想起来oracle 10g 数据库没有做备份,开始以为很麻烦,没想到数据库恢复的还挺顺利的 恢复方法: 1,把原来的数据库文件备份,(D:\oracle\product\10.2. ...

URL请求过程

一.URL(Uniform Resource Locator)统一资源定位符,是可以从互联网上得到的资源的位置和访问方法的一种简洁表示,是互联网上标准资源的地址.互联网上的每一个文件都有一个唯一的UR ...

在ASP&period;NET Core中构建路由的5种方法

原文链接 :https://stormpath.com/blog/routing-in-asp-net-core 在ASP.NET Core中构建路由的5种方法 原文链接 :https://storm ...

C&plus;&plus;———库函数cstring及string方法解读

1.string与cstring区别 是C++标准库头文件.包含了拟容器class std::string的声明(不过class string事实上只是basic_stri ...

windows环境下面批量修改文件夹名称

ren 1 A ren 2 B ren 3 C ren 4 D 电脑桌面新建文档 ---> 批量修改文件夹名称.txt 修改文件名称为:--->批量修改文件夹名称.bat 内容如上: 双击 ...

mod&lowbar;conference ESL控制二(事件)

根据上篇所述功能需求,esl需要处理以下几类事件: ESL_EVENT_CHANNEL_*  #channel相关事件,用户判断参会者是否应答.计费 DTMF事件 #识别参会者按键,根据按键进行操作( ...

(stack)Train Problem I hdu1022

Train Problem I Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

在Android中实现图片的裁剪

本实例的功能是将用户选择的图片裁剪后放入ImagView,布局文件是个Button和ImageView.为了图片的正常显示,我们在裁剪后先将裁剪好的图片先存放到SD卡中,这样就能在以后开启应用 ...

linux多线程顺序打印abc,c++11 多线程依次打印ABC相关推荐

  1. Linux编程题:信号量同步三进程依次打印若干次ABC

    三个进程依次打印ABC..... 思路及大致流程如下: 思路取自这位大哥: Linux编程题:创建3个线程分别打印abc,用信号量进行同步_cleverlemon的博客-CSDN博客 这位大哥写的是线 ...

  2. 多线程顺序打印的5种解法

    多线程同步的方式有许多,有传统的synchronized锁,还可以使用lock锁,下面列举多线程顺序打印的5种解法,算作对线程同步的一个总结. 文章目录 经典面试题 多种解法 使用 Lock 使用 w ...

  3. Linux与C++11多线程编程(学习笔记)

    多线程编程与资源同步 在Windows下,主线程退出后,子线程也会被关闭; 在Linux下,主线程退出后,系统不会关闭子线程,这样就产生了僵尸进程 3.2.1创建线程 Linux 线程的创建 #inc ...

  4. c++11 多线程 顺序执行_前阿里P8架构师总结的一些关于Java多线程的编程经验丨干货...

    推荐阅读 Java程序员备战"金九银十"必备的面试技巧(附阿里Java岗面试题) 一.认识多任务.多进程.单线程.多线程 要认识多线程就要从操作系统的原理说起. 以前古老的DOS操 ...

  5. C++11多线程第一篇:并发基本概念及实现,进程、线程基本概念

    文章目录 1.并发基本概念及实现,进程.线程基本概念 1.1 并发.进程.线程的基本概念和综述 1.1.1 并发.并行 1.1.2 可执行程序 1.1.3 进程 1.1.4 线程 1.1.5 程序.进 ...

  6. java 多线程顺序执行

    这道阿里巴巴多线程面试题,你学会了没有? 置顶 2019年06月14日 15:43:55 XingXing_Java 阅读数 447 点关注,不迷路:持续更新Java相关技术及资讯!!! 前言 有个朋 ...

  7. C++11 并发指南一(C++11 多线程初探)

    引言 C++11 自2011年发布以来已经快两年了,之前一直没怎么关注,直到最近几个月才看了一些 C++11 的新特性,今后几篇博客我都会写一些关于 C++11 的特性,算是记录一下自己学到的东西吧, ...

  8. C++11 多线程库使用说明

    多线程基础 1.1 进程与线程 根本区别: 进程是操作系统资源分配的基本单位,线程是任务调度和执行的基本单位 开销方面: 每个进程都有自己独立的代码和数据空间,程序之间的切换开销较大. 线程可以看作是 ...

  9. 算法移植优化(四)c++11 多线程

    c++11多线程库:std::thread 一.join函数:用于等待线程对象运行结束 程序从main函数开始,本来由一个线程执行:当执行到std::thread定义一个线程对象,给定初始构造函数后, ...

最新文章

  1. bs4抓起大众点评的用户评论
  2. CAS权属线粗细修改
  3. java运行原理_Java程序的加载与运行原理详解
  4. 汇编语言Makefile
  5. [mysql] linux下使用yum安装mysql
  6. 微服务的概念——《微服务设计》读书笔记
  7. jQuery函数的等价原生函数代码示例
  8. 用python开发一个影视网站_GitHub - lyzhanghai/movie_project: 一个使用Python+Flask开发的微电影网站...
  9. 脚注交叉引用序号不一样_著作权合理使用制度之“适当引用”的界定
  10. java编写a b直接的偶数之和_java中如何 输入一个大于 6 的偶数n,如何把这个偶数拆分为a和b,并满足n=a+b。...
  11. 小程序毕设作品之微信小程序点餐系统毕业设计(8)毕业设计论文模板
  12. luov之IT管理制度
  13. typescript入门之:如何使用、不限定函数参数的个数传参、interface约束(对象、函数、数组、类)、定义可选参数
  14. HTML+CSS整理大全
  15. 线程控制-客户端获取信息无反应
  16. NeuroImage:磁共振3D梯度回波磁化转移序列同时对铁和神经黑色素进行成像—用于帕金森病生物标志物研究
  17. matlab棋盘格标定角点,相机标定(Camera calibration)Matlab——棋盘格标定原理,流程...
  18. log4j2 概述、配置详情、日志八种输出级别讲解
  19. 使用格式刷重复复制格式
  20. 在地址栏输入一个字母后的网址

热门文章

  1. 使用anaconda安装pytorch——看这一篇就行了
  2. 引用的“0x00000000”内存,该内存不能为“read”或“written
  3. 信息奥赛课课通(C++)p164-1质数个数
  4. python 自动回复论坛
  5. 10个最佳的人工智能开发框架和AI库
  6. 百度智能云发布云智一体的AI开发全栈模式
  7. android开发常用的组件,7款Android开发者常用的Android UI组件
  8. Parrot Bebop 2 Power无人机的使用
  9. 关于POI操作Excel
  10. 专为汽车凸轮传感应用的速度传感器ATS675及CH502介绍