当前位置: 首页 > news >正文

五金批发网站怎么做抖音关键词排名查询工具

五金批发网站怎么做,抖音关键词排名查询工具,网站网页建设,这个域名的网站做违法的事在Java中,synchronized关键字、ReentrantLock和volatile关键字这三个是编程中常用于实现线程同步的机制,下面结合代码详细说明一下这三个关键字的用法。 1. synchronized关键字: synchronized关键字是Java语言提供的内置锁机制,…

在Java中,synchronized关键字、ReentrantLock和volatile关键字这三个是编程中常用于实现线程同步的机制,下面结合代码详细说明一下这三个关键字的用法。

1. synchronized关键字:

synchronized关键字是Java语言提供的内置锁机制,用于实现线程之间的同步。它可以修饰方法或代码块,确保同一时刻只有一个线程可以访问被synchronized修饰的代码块或方法。示例

下面使用共同操作一个共享变量count演示一下synchronized的用法,代码如下:

public class SynchronizedExample {private int count = 0;public synchronized void increment() {count++;}public synchronized void decrement() {count--;}public static void main(String[] args) {SynchronizedExample example = new SynchronizedExample();Thread thread1 = new Thread(() -> {for (int i = 0; i < 1000; i++) {example.increment();}});Thread thread2 = new Thread(() -> {for (int i = 0; i < 1000; i++) {example.decrement();}});thread1.start();thread2.start();try {thread1.join();thread2.join();} catch (InterruptedException e) {e.printStackTrace();}System.out.println("Count: " + example.count);  //Count: 0}
}

2. ReentrantLock:

ReentrantLock是java.util.concurrent包提供的锁机制,相比synchronized关键字更加灵活,可以实现公平锁、可中断锁等特性。使用ReentrantLock需要手动加锁和解锁

代码如下:

import java.util.concurrent.locks.ReentrantLock;public class ReentrantLockExample {private int count = 0;private ReentrantLock lock = new ReentrantLock();public void decrement() {lock.lock();try {count++;} finally {lock.unlock();}}public void increment() {lock.lock();try {count++;} finally {lock.unlock();}}public static void main(String[] args) {ReentrantLockExample example = new ReentrantLockExample();Thread thread1 = new Thread(() -> {for (int i = 0; i < 1000; i++) {example.increment();}});Thread thread2 = new Thread(() -> {for (int i = 0; i < 1000; i++) {example.decrement();}});thread1.start();thread2.start();try {thread1.join();thread2.join();} catch (InterruptedException e) {e.printStackTrace();}System.out.println("Count: " + example.count); //Count: 0}
}

3. volatile关键字:

volatile关键字用于保证变量的可见性,即当一个线程修改了volatile变量的值,其他线程可以立即看到最新的值。但它并不具备原子性,不能保证复合操作的原子性。
代码如下:

public class VolatileExample {private volatile boolean flag = false;public void toggleFlag() {flag = !flag;}public static void main(String[] args) {VolatileExample example = new VolatileExample();Thread thread1 = new Thread(() -> {for (int i = 0; i < 1000; i++) {example.toggleFlag();}});Thread thread2 = new Thread(() -> {for (int i = 0; i < 1000; i++) {example.toggleFlag();}});thread1.start();thread2.start();try {thread1.join();thread2.join();} catch (InterruptedException e) {e.printStackTrace();}System.out.println("Flag: " + example.flag);}
}
http://www.hkea.cn/news/5964/

相关文章:

  • 外贸网站优势seo关键词外包公司
  • 涡阳哪里有做网站的chrome官网下载
  • 深圳市住房建设部网站爱站网反链查询
  • 个人做网站犯法吗手机流畅优化软件
  • 电商网站 建设步骤推荐友情链接
  • 如何做内网站的宣传栏西安seo网站管理
  • 成都门户网站建设公司前端seo优化
  • 傻瓜式建站平台网络营销技巧和营销方法
  • 广州番禺区最新疫情大地seo视频
  • 邢台提供网站建设公司哪家好微信引流推广
  • 长沙做网站公免费招聘信息发布平台
  • 三亚建设信息网站长沙谷歌seo收费
  • 做网站虚拟主机哪家好google入口
  • 广州服装 网站建设seo搜索引擎优化推广专员
  • 头像设计信息流优化师招聘
  • 如何做网站导航栏的搜索引擎优化淘宝运营培训多少钱
  • 哪个网站做签约插画师好sem竞价代运营公司
  • 网站建设的技术难点济南网站万词优化
  • 简单的企业网站phpwin7运行速度提高90%
  • 商家自己做的商品信息查询网站seo课程培训机构
  • 公司怎么做网页网站微信广告怎么投放
  • mx动漫wordpress主题手机网站seo免费软件
  • 网站建设与运行新浪体育世界杯
  • 做平面设计兼职的网站有哪些磁力链接搜索引擎2021
  • 网络营销推广方法及策略选择网站seo优化案例
  • 网站怎么做关键词怎么优化网站建站方式有哪些
  • 上海平台网站建设费用双11各大电商平台销售数据
  • wordpress建站 域名友情链接交换条件
  • 建网站程序渠道销售怎么找客户
  • 制作论坛类网站模板免费下载前端优化网站