多线程学习笔记2,阿里P8大佬亲自讲解

本文探讨了Python多线程中volatile关键字的作用,它确保变量在多线程间的可见性,避免死循环。同时,与synchronized进行比较,volatile在性能上更优,但不保证原子性。文章还提到了AtomicInteger原子类的使用,并提供了Python学习路线、软件、电子书、视频教程、实战案例和面试资料,是Python初学者的全面指南。
摘要由CSDN通过智能技术生成

return isCoutinuePrint;

}

public void setisCountinuePrint(boolean isCountinuePrint){

this.isCoutinuePrint = isCountinuePrint;

}

public void printStringMethod(){

while(isCoutinuePrint){

System.out.println(“run printStringMethod thread name=”+Thread.currentThread().getName());

}

}

public void run(){

printStringMethod();

}

public static void main(String[] args){

PrintString PrintStringServlce = new PrintString();

new Thread(PrintStringServlce).start();

System.out.println(“线程即将停止”);

PrintStringServlce.setisCountinuePrint(false);

}

}

isContinuePrint存在于公共堆栈以及线程的私有堆栈中,线程为了效率有可能会一直在私有堆栈中取得该值

而setisContinuePrint()方法尽管被执行,更新的确实公共堆栈中的isCountinuePrint(),有可能会造成死循环

这是可以使用volatile关键字来修饰变量,他的作用是当线程访问isContinuePrint时,强制从公共堆栈取值

即增加了实例变量在多个线程之间的可见性

与synchron

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值