非线程安全
来源:互联网 发布:车削编程软件 编辑:程序博客网 时间:2024/05/16 08:34
非线程安全:
主要是指多个线程对同一个对象中的同一个实例变量进行进行操作时会出现值被更改、值不同步的情况,进而影响程序的执行流程。
代码示例:
//非线程安全实例class LoginServlet{ //本类模拟一个Servlet组件private static String usernameRef;private static String passwordRef;synchronized public static void doPost(String username,String password){try{usernameRef = username;if(username.equals("a")){Thread.sleep(5000);}passwordRef = password;System.out.println("username= " + usernameRef +" password = " + password);}catch(InterruptedException e){e.printStackTrace();}} //非线程安全运行结果:输出结果不匹配 //解决办法,在doPost方法前加关键字synchronized,给方法doPost加锁} //LoginServlet 结束class ALogin extends Thread{ @Override public void run(){ LoginServlet.doPost("a","a_password"); } } //ALogin 结束class BLogin extends Thread{ @Override public void run(){ LoginServlet.doPost("b","b_password"); }} //BLogin 结束public class Thread_LoginServlet{ public static void main(String [] args){ ALogin a=new ALogin(); BLogin b=new BLogin(); a.start(); b.start(); }} //Thread_LoginServlet 结束 (main方法)
阅读全文
1 0
- 非线程/线程安全
- 线程安全、非线程安全
- 线程安全与非安全
- SimpleDateFormat非线程安全
- SimpleDateFormat非线程安全
- Servlet非线程安全
- Java 非线程安全
- SimpleDateFormat 非线程安全
- ArrayList 非线程安全
- 非线程安全
- SimpleDateFormat非线程安全
- volatile---非线程安全
- SimpleDateFormat非线程安全
- Java线程安全和非线程安全
- Java线程安全和非线程安全
- Java线程安全和非线程安全
- 线程安全和非线程安全
- Java线程安全和非线程安全
- Storm原理
- Hive基础三(查询中常用的语法)
- zookeeper配置
- Shell文件包含~12
- 数据库系统概论学习攻略-----第十章
- 非线程安全
- 初期学习JAVA的感受
- 简历1
- 数据库系统概论学习攻略-----第十一章
- 记录查询
- Python 三种网页抓取方法
- codeforces 320B Ping-Pong (Easy Version)
- 简历2
- 一次优化经历