美文网首页
线程安全问题及解决的2种方式

线程安全问题及解决的2种方式

作者: 天使飞吧 | 来源:发表于2019-06-17 14:49 被阅读0次

什么是线程安全问题?

在单线程中不会出现线程安全问题,而在多线程编程中,有可能会出现同时访问同一个资源的情况,如:一个变量、一个对象、一个文件、一个数据库表等这样就容易出现数据错误。

解决的2种方式::

1.同步方法:synchronized 修饰的方法 ex:public synchronized void test(){}

 2.同步代码块 : synchronized(被加锁的对象){ 代码 }

 3.锁机制Lock

调用lock方法:加锁    {代码....}  调用unlock方法:解锁.

比较

1.首先synchronized是java内置关键字,在jvm层面,Lock是个java类;

2.synchronized会自动释放锁,Lock需手工释放锁(unlock()方法),否则容易造成线程死锁;

3.Lock锁适合大量同步的代码的同步问题,synchronized锁适合代码少量的同步问题。

相关文章

  • 线程的基本语法

    线程同步[解决线程安全问题] 解决线程安全问题 线程同步方式一:同步代码 语法基本 synchronized (同...

  • Lock锁

    解决线程安全问题的方式三:Lock锁 --- JDK5.0新增的解决线程安全问题 一.示例代码class Win...

  • 18_线程安全_同步机制_锁

    多线程访问共享数据 造成安全问题 造成安全问题的原因 ==================锁 解决线程安全的方式 ...

  • java同步机制的几种方式

    java同步机制的几种方式 出现线程安全问题: 如果存在多个线程对共享资源竞争,就可能发生线程安全问题。 一般解决...

  • java 线程安全问题的解决办法 和死锁

    线程安全问题的解决办法 线程 安全问题的解决方案:sun提供了线程同步机制让我们解决这类问题的。 java线程同步...

  • Java线程安全

    线程安全问题的概述 线程安全问题的代码实现 线程安全问题产生的原理 解决线程安全问题_同步代码块 同步代码块:sy...

  • 7.2 Handler消息传递机制

    简介:handler消息处理者,用来发生和处理消息,用于解决线程安全问题; 线程安全问题:多线程导致线程安全问题,...

  • 线程安全问题及解决的2种方式

    什么是线程安全问题? 在单线程中不会出现线程安全问题,而在多线程编程中,有可能会出现同时访问同一个资源的情况,如:...

  • 如何解决SimpleDateFormat线程不安全问题

    借助ThreadLocal,解决线程安全问题:

  • synchronized 加锁相关问题

    一. synchronized 关键字实现原理及应用方式简述 造成线程安全问题的主要诱因是:多条线程共同操作共享数...

网友评论

      本文标题:线程安全问题及解决的2种方式

      本文链接:https://www.haomeiwen.com/subject/ssuafctx.html