线程交替打印

news/2024/11/30 2:49:20/

目录

加锁 

cas

信号量


加锁 

package org.example;public class ThreadTest implements Runnable{static int i=0;int init=0;public static void main(String []args){ThreadTest t1=new ThreadTest();t1.init=0;ThreadTest t2=new ThreadTest();t2.init=1;Thread a=new Thread(t1);Thread b=new Thread(t2);a.start();b.start();}@Overridepublic void run() {synchronized (ThreadTest.class){while(i<100){if(this.init== i){i+=1;this.init+=2;System.out.println(Thread.currentThread().getName()+"  "+i);}else{ThreadTest.class.notifyAll();try {ThreadTest.class.wait();} catch (InterruptedException e) {throw new RuntimeException(e);}}}}}
}

cas

信号量


http://www.ppmy.cn/news/979082.html

相关文章

网络超时导致namenode被kill的定位

交换机升级导致部分网络通信超时, 集群的namenode主从切换后,主namenode进程被杀死。 网络问题导致namenode与zk间的连接超时触发了hadoop集群的防脑裂机制而主动kill掉了超时的namenode进程。 日志分析发现zk和namenode之间的网络连接超时: 超时触发了namenode切换,并将超时…

c++ 获取时间戳

#include<sys/time.h>struct timeval tv; if(gettimeofday(&tv,NULL)!0){return 0; } long sec tv.tv_sec * 1000 tv.tv_usec / 1000;

QEMU源码全解析10 —— 定义一个QEMU模块(2)

接前一篇文章&#xff1a;QEMU源码全解析9 —— 定义一个QEMU模块&#xff08;1&#xff09; 本文内容参考&#xff1a; 《趣谈Linux操作系统》 —— 刘超&#xff0c;极客时间 《QEMU/KVM》源码解析与应用 —— 李强&#xff0c;机械工业出版社 特此致谢&#xff01; 上一回…

使用vscode+platformio搭建arduino开发环境

存在的问题&#xff1a; Arduino编译时会将所有的C文件都编译一遍造成编译很慢&#xff0c;一个简单的工程稍加修改有可能都需要三四分钟才能编译完成&#xff0c;同时arduino也不支持代码跳转查看功能&#xff0c;不方便代码查看。 解决方法&#xff1a; 使用vscodeplatfor…

Kafka集群——(区别于Master/Slave架构的的分布式集群)

Kafka角色介绍&#xff1a; 1. Producer:消息生产者&#xff1a; 2. Broker: kafka实例&#xff0c;可以理解为一台kafka服务器&#xff0c;kafka cluster 是由多个broker构成的集群。 3. Topic: 消息主题&#xff0c;理解为消息队列&#xff0c;kafka数据就保存在topic里。…

Windows API遍历桌面上所有文件

要获取桌面上的图标&#xff0c;可以使用Windows API中的Shell API。以下是遍历桌面上所有文件的示例代码&#xff1a; #include <Windows.h> #include <ShlObj.h> #include <iostream> #include <vector> using namespace std;int main() {// 获取桌…

API简意

API&#xff08;Application Programming Interface&#xff09;即应用程序接口&#xff0c;是一组定义的规则和协议&#xff0c;用于不同软件之间的交互和通信。它定义了软件组件之间如何相互访问和使用&#xff0c;简化了开发者的工作&#xff0c;提高了系统的可扩展性和灵活…

登录和注册表单的11个HTML最佳实践

原文&#xff1a;11 HTML best practices for login & sign-up forms 原作者&#xff1a;Andrey Sitnik 翻译已获原文作者许可&#xff0c;禁止转载和商用 大多数网站都有登录或注册表单;它们是业务转换的关键部分。然而&#xff0c;即使是流行的站点也没有实现本文中提到的…