LeetCode 1114 按序打印
https://leetcode-cn.com/problems/print-in-order/
解决方案
class Foo {private AtomicInteger jobDone = new AtomicInteger(0);public Foo() {}public void first(Runnable printFirst) throws InterruptedException {// printFirst.run() outputs "first".printFirst.run();// mark the first job as done, by increasing its count.jobDone.incrementAndGet();}public void second(Runnable printSecond) throws InterruptedException {while (jobDone.get() != 1);// waiting for the first job to be done.// printSecond.run() outputs "second". Do not change or remove this line.printSecond.run();jobDone.incrementAndGet();}public void third(Runnable printThird) throws InterruptedException {while (jobDone.get() != 2);// waiting for the first job to be done.// printThird.run() outputs "third". Do not change or remove this line.printThird.run();jobDone.incrementAndGet();}
}
LeetCode 1114 按序打印相关推荐
- LeetCode 1114. 按序打印
我们提供了一个类: public class Foo {public void first() { print("first"); }public void second() { ...
- LeetCode 多线程 1114. 按序打印
1114. 按序打印 Ideas 并发执行问题是多线程要解决的经典问题,此题是典型的执行屏障问题,因此我们需要构造几把锁来确保执行顺序. 题目要求按顺序依次执行三个方法,为了保证线程的执行顺序,可以在 ...
- 1114. 按序打印
1114. 按序打印 我们提供了一个类: public class Foo { public void first() { print("first"); } public voi ...
- LeetCode:交替打印【1115】
LeetCode:交替打印[1115] 题目描述 我们提供一个类: class FooBar { public void foo() {for (int i = 0; i < n; i++) { ...
- LeetCode 1114. Print in Order--Java解法--并发问题
此文首发于我的个人博客:LeetCode 1114. Print in Order–Java解法–并发问题 - zhang0peter的个人博客 LeetCode题解专栏:LeetCode题解 Lee ...
- 2022-4-8 Leetcode 1114.按顺序打印
原来直接用信号量就好了 #include <semaphore.h>class Foo {protected:sem_t firstJobDone;sem_t secondJobDone; ...
- LeetCode 多线程 1116. 打印零与奇偶数
1116. 打印零与奇偶数 Ideas 有几个线程就用几个信号量,最先开始的信号量初始化为1,其它初始化为0,然后根据条件判断实现同步. 多线程的问题好多都是:锁自己,解锁别人. Code from ...
- leetcode算法题--打印从1到最大的n位数
原题链接:https://leetcode-cn.com/problems/da-yin-cong-1dao-zui-da-de-nwei-shu-lcof/ vector<int> pr ...
- (多线程)leetcode1114. 按序打印 认识AtomicInteger
我们提供了一个类: public class Foo { public void one() { print("one"); } public void two() { p ...
最新文章
- Python的零基础超详细讲解(第一天)-Python简介以及下载
- 二十、异步调用的问题
- 数组 verilog_SystemVerilog语言简介(与Verilog的30点对比)
- STM32中C语言知识点:初学者必看,老鸟复习(长文总结)
- Windows编程—Windows驱动中定时器的使用
- ROS学习笔记7(理解ROS服务和参数)
- PL/SQL Developer自动补全SQL技巧
- 笔记之_Java整理IO流
- xp系统无法自动修复此计算机该怎么解决,WinXP不能正常启动的修复方法
- python下载安装图文教程-Pycharm下载安装图文教程
- html制作钢铁侠心脏,心脏术后我变成了“钢铁侠”
- 敲开脑洞(一),如何摆脱痛苦,记自己的短期修行
- 背壳BAKAZU 2013复古邮差风帆布休闲潮男腰包 A801BK 黑色 腰包胸包【图片 价格 品牌 报价】-京东商城...
- 平均差误法中存在哪些误差?如何平衡这些误差?|小白心理-312/347考研答疑
- tl494组成的超声波发射电路_由TL494构成的恒流闭环控制电路的设计与实现 - 全文...
- layui数据表格显示序号
- C语言刷题(9):判断一个数是否为质数(素数)
- java斜杠_java中对斜杠的处理
- android 悬浮窗 播放器,Lua Player
- CString 百度百科
热门文章
- java1.8的特性,java1.8新特性
- python判断点在直线的哪一侧_判断点在直线的哪一侧
- python异步编程视频_asyncio异步编程【含视频教程】
- 计算机组成原理的基础知识,计算机组成原理:基础知识部分习题解答(学习笔记)...
- roobo机器人怎么唱歌_日本“观音”机器人问世,可以陪僧人念佛经
- php 精品课程,php51精品课程高级版
- devc++源文件未编译_悬赏万元,重现「木兰」编程语言编译器
- 360浏览器 ajax取缓存,Angularjs在360兼容模式下取数据缓存问题的解决办法
- 十四、爬取天气气温,制作最低气温排行榜
- 四十一、深入Java中的 File类