前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自制乐观锁

自制乐观锁

作者头像
马克java社区
修改2021-10-11 10:24:13
4470
修改2021-10-11 10:24:13
举报
文章被收录于专栏:java大数据java大数据

ii)自制乐观锁:

例 2.2.1.2

package com;

public class Ticket_Opti_MarkToWin {

private int number=4;

private int numberVersion=0;

private synchronized int updAtom(int num,int verNum)

{

int flag;

if(numberVersion==verNum&&number>num){

return flag;

}

void buyOne()

{

/*前面的三句,都只是get,想改只有updAtom里面,

你的buyOne只有改对和不改的权利,没有改错的权利*/

int myVersion=numberVersion;

if(flag==1){

System.out.println("买一张成功");

}else{

System.out.println("已经进队等了一会,买一张失败");

}

}

void buyBatch(int num)

{

int myVersion=numberVersion;

int myNumber=number;

}

}

package com;

class MulThreMarkToWin extends Thread {

Ticket_Opti_MarkToWin ticOpti_MarkToWin;

}

class MulThreMarkToWinBatch extends Thread {

Ticket_Opti_MarkToWin ticOpti_MarkToWin;

}

public class TestConcurBuy_MarkToWin {

public static void main(String[] args) {

Ticket_Opti_MarkToWin ticOpti_MarkToWin=new Ticket_Opti_MarkToWin();

Thread t1 = new MulThreMarkToWin(ticOpti_MarkToWin);

Thread t2 = new MulThreMarkToWinBatch(ticOpti_MarkToWin);

Thread t3 = new MulThreMarkToWin(ticOpti_MarkToWin);

Thread t4 = new MulThreMarkToWin(ticOpti_MarkToWin);

t1.start();

t2.start();

t3.start();

t4.start();

}

}

更多请看:https://blog.csdn.net/qq_44638460/article/details/104137404

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档