四种情况1、交叉锁导致程序死锁:比如线程A持有R1的锁等待R2的锁,线程B持有R2的锁等待R1的锁2、内存不足:比如两个线程T1和T2,T1已获取10MB内存,T2获取了15MB内…
说明1、this monitor:在成员方法上的synchronized,就是this monitor,等价于在方法中使用synchronized(this)2、class mon…
说明1、创建ThreadGroup可以直接通过构造方法创建。2、构造方法有两个,一个是直接指定名字(ThreadGroup为main线程的ThreadGroup),一个是带有父Th…
说明1、enumerate()可用于Thread和ThreadGroup的复制。2、ThreadGroup可以加入若干个Thread以及若干个子ThreadGroup,使用该方法可…
说明1、jni的主要功能,从jdk1.1开始jni标准就成为了java平台的一部分,它提供的一系列的API允许java和其他语言进行交互,实现了在java代码中调用其他语言的函数。…
1、说明多线程是指在一个进程中,并发执行了多个线程,每个线程都实现了不同的功能。2、作用(1)在单核CPU中,将CPU分为很小的时间片,在每一时刻只能有一个线程在执行,是一种微观上…
1、说明线程锁死是指等待线程由于唤醒其所需的条件永远无法成立,或者其他线程无法唤醒这个线程而一直处于非运行状态(线程并未终止)导致其任务 一直无法进展。2、线程锁死分为两种:(1)…
说明1、Client 端有一个被称 Stub 的东西,有时也会被成为存根,它是 RMI Client 的代理对象。2、Stub 的主要功能是请求远程方法时构造一个信息块,RMI 协…
1、RabbitMQ是用Erlang实现的一个高并发高可靠AMQP消息队列服务器。2、使用场景为提高系统响应速度、系统稳定性、服务调用异步化等。提高系统响应速度任务异步处理。将不需…
1、通过ProcessBuilder进行调度,这种方法比较直观,而且参数的设置也比较方便。ProcessBuilder pb = new ProcessBuilder("./" +…