美文网首页
线程的概念及保证线程安全的方法记录

线程的概念及保证线程安全的方法记录

作者: Mayuri樂 | 来源:发表于2018-09-27 17:04 被阅读0次

线程的概念:

    先要分清线程和进程,还有线程和进程的关系,这也是java面试中经常涉及到的问题

    狭义定义:进程是正在运行的程序的实例(an instance of a computer program that is being executed)。

    广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。

    进程相互之间是互相独立的。

    线程是进程执行中最小的单位,一个进程至少包含一个线程。

多线程的安全问题:

    多线程执行过程中,若不做安全处理,同时对同一数据进行修改,会导致并发的问题。当多个线程访问某个方法时,不管你通过怎样的调用方式或者说这些线程如何交替的执行,我们在主程序中不需要去做任何的同步,这个类的结果行为都是我们设想的正确行为,那么我们就可以说这个类是线程安全的。

    有两种通用解决多线程安全问题的办法。

    第一种是使用synchronize关键字,同步控制线程。synchronize(Object)对象锁,其他线程请求该对象时会等待直到持有对象锁得线程执行结束释放对象锁。

    第二种是lock关键字

参考文章链接:https://mp.weixin.qq.com/s/BZ5zpxPgs3Y1rftCXoW8jw

相关文章

  • 线程的概念及保证线程安全的方法记录

    线程的概念: 先要分清线程和进程,还有线程和进程的关系,这也是java面试中经常涉及到的问题 狭义定义:进程是正在...

  • Java多线程

    目录 什么是多线程?引入多线程的意义何在? 并行和并发 线程安全 线程状态 如何保证线程安全? 创建线程的三种方法...

  • 通过自定义注解对方法加锁

    多线程环境下,会出现线程不安全的问题,所以要对某些方法加锁以保证线程安全。常用的方法有: 但是如果方法过多,每个方...

  • nonatomic和atomic的区别

    nonatomic:非线程安全 atomic:线程安全 atomic对属性的set 和get方法进行加锁,保证当前...

  • 问题:使用atomic一定是线程安全的吗?

    atomic不是绝对的线程安全。atomic的本意是指属性的存取方法是线程安全的,并不保证整个对象是线程安全的。 ...

  • 安全的终止线程

    安全的终止线程 如果想终止线程最好不要使用 stop 方法,因为 stop 方法在终结一个线程时不会保证线程的资源...

  • 成为Java顶尖程序员,先过了下面问题!(四)

    四、多线程/并发 1.如何创建线程?如何保证线程安全? 创建线程有三种方法: MyThread继承Thread, ...

  • 外星方法导致线程不安全

    在子类中foo方法可能对sdf进行非线程安全的访问,所以继承可能带来线程不安全。final可以在这个层面保证线程安全。

  • 线程安全的NSMutableDictionary

    NSDictionary是线程安全的,NSMutableDictionary是线程不安全的。利用锁来保证线程的安全...

  • 并发编程

    1、什么是线程安全,怎么保证线程安全? 线程安全可以简单理解为一个方法或者一个实例可以在多线程环境中使用而不会出现...

网友评论

      本文标题:线程的概念及保证线程安全的方法记录

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