基础多线程高并发问题的解决方案

在Java开发中,高并发问题可能导致线程不安全和系统崩溃。通过学习多线程,我们可以采取同步代码块、同步方法或Lock锁等基础解决方案。例如,使用`synchronized`关键字对共享资源进行保护,确保线程安全;或者采用Lock接口提供的加锁和解锁机制,但需确保在finally块中释放锁。
摘要由CSDN通过智能技术生成

在学习多线程的时候,会知道在java的实际开发中经常出现高并发的问题,也就是同一资源或者说网站被多线程或者说多用户同时访问导致的线程不安全,易引起网站挂掉的情况称之为高并发。
在基础学习中,我们简单的从多线程的角度去了解最基础的并发解决方案。

还是以多窗口卖票为例
一个Thread的子类完成卖票方法。
这里在测试类中可以开启多个线程来访问同一个成员变量t,会导致卖票数量不精确种种情况。
用第一个解决方案: 同步代码块synchronized(){}
其中()内的参数必须是唯一性。字节码对象也可以,一个是字符串等等都可以;
synchronzied也可以直接同步方法,直接写在修饰符之前,不过必须加上static修饰保证方法对所有对象共享。

package cn.itsource.SaleTicket;

public class SafeTicketDemo extends Thread {
   
	static int t = 100;
	static String str = "嘿嘿";
	@Override
	//复写Thread中的run方法
	
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值