在java中线程安全与同步的关系?
3个回答
推荐于2017-09-30 · 知道合伙人数码行家
关注
展开全部
1、java中线程同步了也就满足安全性。
2、web工程中每一个浏览器发出的http请求到达服务器的时候,服务器都会建立一个新的线程来处理请求,一般如果写的action中很少会有静态的变量。
a。如果没有静态变量(静态变量都是所有action中唯一的,这些变量属于类,而不是属于某一个实例,也就是说静态变量是实例间共享的),那就不用关心线程安全的问题。
b。如果有静态变量的话,就需要关心线程安全问题了。假设你的类中的方法会对静态变量进行操作。还有一种情况是你的类方法中如果对数据库进行操作的话为了保证操作的原子性则需要在方法上加上关键字synchronized 关键字就可以了。
3、线程如果不涉及到操作公共变量的时候就不要同步,否则就需要同步才能保证线程安全。
2、web工程中每一个浏览器发出的http请求到达服务器的时候,服务器都会建立一个新的线程来处理请求,一般如果写的action中很少会有静态的变量。
a。如果没有静态变量(静态变量都是所有action中唯一的,这些变量属于类,而不是属于某一个实例,也就是说静态变量是实例间共享的),那就不用关心线程安全的问题。
b。如果有静态变量的话,就需要关心线程安全问题了。假设你的类中的方法会对静态变量进行操作。还有一种情况是你的类方法中如果对数据库进行操作的话为了保证操作的原子性则需要在方法上加上关键字synchronized 关键字就可以了。
3、线程如果不涉及到操作公共变量的时候就不要同步,否则就需要同步才能保证线程安全。
展开全部
同步了线程就会安全。web工程中每一个浏览器发出的http请求到达服务器的时候,服务器都会建立一个新的线程来处理请求,一般我们写的action中很少会有静态的变量,如果没有静态变量(静态变量都是所有action中唯一的,这些变量属于类,而不是属于某一个实例,也就是说静态变量是实例间共享的),那就不用关心线程安全的问题。如果有静态变量的话,就需要关心线程安全问题了。假设你的类中的方法会对静态变量进行操作。还有一种情况是你的类方法中如果对数据库进行操作的话为了保证操作的原子性则需要在方法上加上关键字sync。。同步的意思 忘记如何拼写了。总结一下,线程如果不涉及到操作公共变量的时候就不要同步,否则就需要同步才能保证线程安全。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
synchronized关键字修饰同步方法 java中有一些线程不安全的类用synchronized就边成现成安全的了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询