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

线程的概念:

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

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

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

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

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

多线程的安全问题:

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

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

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

    第二种是lock关键字


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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容