网易首页 > 网易号 > 正文 申请入驻

Java同步关键字synchronized

0
分享至

// 购票类

public class Java04 implements Runnable {

int count = 1;

public static void main(String[] args) {

// 多线程并发的问题

// 运行机制:默认单例多线程机制、只有一个对象、开启多个线程和用户交互。(数据库:并发事务)

// 线程A ->

// 12306火车票购票

// 线程B ->

// 处理多线程并发问题:两种方式

// 原因:多个线程同时访问了一个方法、同时访问一个代码片段。

// 解决:某一个时刻只让一个线程访问、多个线程排队访问、效率低、但是安全。并发量大的时候考虑解决线程安全问题。

// 同步块:使用synchronized关键字锁定一个对象、把可能出现并发问题的代码放入同步块中。确保每次只有一个线程访问。

// 同步方法:使用synchronized关键字修饰方法、让整个方法的实现都是线程安全的。

Java04 x = new Java04();

Thread a = new Thread(x, "线程A");

a.start();

Thread b = new Thread(x, "线程B");

b.start();

// 同步方法:并发量大的时候可以保证线程安全:某一个时刻只有一个线程访问此方法

// 锁机制:同步方法锁的是类对象(Java04.class)

// 原理:当线程访问同步方法的时候、先检查类对象是否加锁

// 如果类对象没有加锁:可以访问方法、并对类对象加锁、其它线程在方法外排队等候

// 如果类对象已经加锁:在外边排队等候、等方法中线程调用结束之后释放锁才能访问。

public synchronized void m() {

// (1)线程B先启动:

// (3)线程A启动

String s = "";

// 同步块

// 原理:在Java语言中、每一个对象都有一个锁机制

// 当线程访问同步块的时候、先检查对象是否被加锁、如果没有锁则可以访问同步块代码、同时给对象加锁。

// 当前后续线程访问同步块的时候、发现对象已经被加锁、只能在外等候、等待里边线程访问完同步块后释放锁才能访问。

// synchronized (s) {

if (count > 0) {

// (2)线程B:休眠1秒

// (4)线程A:休眠1秒

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

e.printStackTrace();

System.out.println(Thread.currentThread().getName());

count--;

System.out.println(count);

@Override

public void run() {

while (true) {

// 注意:不能用Integer锁对象。

String s = "";

synchronized (s) {

if (count > 0) {

// (2)线程B:休眠1秒

// (4)线程A:休眠1秒

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

e.printStackTrace();

System.out.println(Thread.currentThread().getName());

count--;

System.out.println(count);

声明:个人原创,仅供参考

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
2024最差危机公关?为“保护”华为问界M7和博世上演智驾罗生门?

2024最差危机公关?为“保护”华为问界M7和博世上演智驾罗生门?

摩根商研所
2024-04-30 00:56:46
周鸿祎为何能拍卖前妻的迈巴赫?回应:他没驾照,登记在前妻公司名下

周鸿祎为何能拍卖前妻的迈巴赫?回应:他没驾照,登记在前妻公司名下

红星新闻
2024-04-30 15:06:13
丰田章男:我们没坑中国人,是你们自己坑自己

丰田章男:我们没坑中国人,是你们自己坑自己

户外小阿隋
2024-04-30 18:27:29
东航客机放出应急滑梯竟是机组人员干的?疑似内部聊天记录流出…

东航客机放出应急滑梯竟是机组人员干的?疑似内部聊天记录流出…

火山诗话
2024-04-30 13:57:27
复旦44岁博士与35岁女硕士结婚,2个月后才知妻子真实身份

复旦44岁博士与35岁女硕士结婚,2个月后才知妻子真实身份

莉雅细细谈
2024-04-23 20:16:02
中方正式宣布出手,向波音空客下达“逐客令”,中方态度让人害怕

中方正式宣布出手,向波音空客下达“逐客令”,中方态度让人害怕

博文聊世界
2024-04-30 17:06:21
明天看船侠!NBA历史上赢下天王山之战的球队晋级概率81.7%

明天看船侠!NBA历史上赢下天王山之战的球队晋级概率81.7%

直播吧
2024-05-01 11:02:14
浙江俞家村:由刘伯温按星象设计,百年来发生许多怪事,至今无解

浙江俞家村:由刘伯温按星象设计,百年来发生许多怪事,至今无解

冰痕迹
2024-04-28 10:25:48
小米一季度出货量大涨33%:稳坐全球第三

小米一季度出货量大涨33%:稳坐全球第三

3DMGAME官方号
2024-04-30 16:41:41
雅万高铁生变!中国高铁4.5万公里,干不过一个新干线?

雅万高铁生变!中国高铁4.5万公里,干不过一个新干线?

军机图
2024-04-30 14:26:15
回顾:安徽女子卖烧饼12年,存了50万全给弟弟买房,丈夫无奈离婚

回顾:安徽女子卖烧饼12年,存了50万全给弟弟买房,丈夫无奈离婚

佑宛故事汇
2024-04-30 11:45:05
蒙古对向美国开放军事基地正式表态!

蒙古对向美国开放军事基地正式表态!

随机耳洞
2024-04-28 09:33:41
睡别人的老婆到底是怎样的感觉?真相了(精辟)

睡别人的老婆到底是怎样的感觉?真相了(精辟)

闻心品阁
2024-04-30 09:19:57
Woj:森林狼主帅芬奇将接受手术 暂不确定能否执教西部半决赛

Woj:森林狼主帅芬奇将接受手术 暂不确定能否执教西部半决赛

直播吧
2024-04-30 21:54:20
袁家军:航天界的天才,后来从政宁夏、浙江,如今是重庆市委书记

袁家军:航天界的天才,后来从政宁夏、浙江,如今是重庆市委书记

初心刘师傅
2024-04-29 09:15:33
韩国人知道自己的国家很小吗?秋瓷炫霸气回怼太解气了!

韩国人知道自己的国家很小吗?秋瓷炫霸气回怼太解气了!

娱乐八卦木木子
2024-04-30 21:34:16
负分开局!曝莱斯特城升英超即被扣分,转会不受限,清洗冠军阵容

负分开局!曝莱斯特城升英超即被扣分,转会不受限,清洗冠军阵容

夏侯看英超
2024-04-30 15:52:31
1换3,王哲林交易或敲定,杨鸣回应杜锋,郭艾伦最新伤情曝光

1换3,王哲林交易或敲定,杨鸣回应杜锋,郭艾伦最新伤情曝光

东球弟
2024-05-01 08:16:46
巴勒斯坦总统称以色列应享有安全环境!哈马斯愿意放下武器?

巴勒斯坦总统称以色列应享有安全环境!哈马斯愿意放下武器?

项鹏飞
2024-04-30 12:04:21
要牢记的人性铁律1、女人的私密生活,生理需求往往都是口是心非

要牢记的人性铁律1、女人的私密生活,生理需求往往都是口是心非

户外阿崭
2024-04-30 07:30:17
2024-05-01 11:52:49
大连赵哥
大连赵哥
IT行业20年(架构、开发、产品、运营、培训、教育)
98文章数 0关注度
往期回顾 全部

科技要闻

余承东卸任华为终端CEO 新任命为董事长

头条要闻

华为高颜值HR自称不是被劝退:职业规划和公司政策不符

头条要闻

华为高颜值HR自称不是被劝退:职业规划和公司政策不符

体育要闻

"意甲最佳"金玟哉 踢回了中超水平...

娱乐要闻

黄子韬被曝求婚徐艺洋 大量亲密照曝光

财经要闻

俞敏洪,踏足A股!

汽车要闻

预售2.89-3.49万 奔腾小马正式开启预售

态度原创

艺术
房产
亲子
时尚
本地

艺术要闻

用耳朵看展览?西岸美术馆最新特展关注声音艺术

房产要闻

单价2万内,装标4200+,主城改善大盘无套路硬刚!

亲子要闻

爸爸为了安抚小朋友打针,吸引小朋友注意力

见过大世面的女人,不用“穿金戴银”,靠穿搭也能美得出挑

本地新闻

食味印象 | 潍坊:碳水脑袋的人间乐园

无障碍浏览 进入关怀版