JAVA线程
superit007
技术咸鱼
展开
-
线程suspend,yield详解
一、在使用suspend与resume方法时也容易出现因为方法的暂停而导致数据的不同步的情况。 public class SyschronizedObject { private String username = "1"; private String password = "11"; public String getUsername() { re...原创 2019-01-11 11:26:00 · 505 阅读 · 0 评论 -
守护线程和非守护线程
守护线程和非守护线程 java线程中有两种线程,一种是用户线程(非守护线程),一种是守护线程。 守护线程是一种特殊的线程,它具有陪伴的含义。当进程中不存在非守护线程了,则守护线程自动销毁。典型的就是垃圾回收进程。当进程中没有非守护线程了,则垃圾回收线程没有存在的必要,自动销毁。任何一个守护线程都是整个JVM中所有非守护线程的保姆。只要当前JVM中有非守护线程没有结束,守护线程就在工作。只有当最后一...原创 2019-01-11 11:52:14 · 3571 阅读 · 2 评论 -
多线程并发知识纪要
学习多线程并发,要着重 “外练互斥,内修可见” ,这是掌握多线程、学习多线程并发的重要技术点。一、基础知识 1、currenThread() 方法可返回代码段正在被哪个线程调用的信息 2、多线程两种方式 集成Thread OR 实现Runable 3、isAlive() 的功能是判断当前线程是否处于活动状态(活动状态就是线程以启动且尚未终止) 4、sleep()的作用是在指定的毫秒数内让“正...转载 2019-01-16 11:41:21 · 126 阅读 · 0 评论 -
死锁的现象和解决办法
产生死锁的根本原因是两个或者两个以上线程在执行过程中,因争抢资源而产生相互等待的一种现象。在申请锁的时候发生了交叉闭环申请。 死锁产生的四个条件: 1)互斥。共享资源同时只能被一个线程访问。 2)占有且等待。线程T1在取得共享资源A的时候,请求等待资源B的时候并不释放资源A。 3)不可抢占。其他线程不能强行抢占线程的资源。 4)循环等待条件。线程T1在持有资源A1,同时在请求等待获取资源B...原创 2019-03-21 16:01:18 · 4076 阅读 · 2 评论