b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

jsp乱码问题 JavaWeb笔试题(14)

电脑杂谈  发布时间:2018-02-07 22:40:08  来源:网络整理

wait()、notify()、notifyAll()都是Object类中的final方法,被所有类继承且不允许重写,不可以在非同步方法中出现。

Thread.currentThread()返回正在实行的线程名称

Thread.interrupt()用于将当前线程的中断标志位设置为true,如果是wait、sleep、join造成的阻塞,会重新将标志位设置为false,抛出interruptedException异常。如果是IO阻塞会抛出异常,如果是轮询,直接返回。如果是非阻塞的线程,进入阻塞会按照阻塞来处理,非阻塞中断标志位为true的线程遇到wait、join、sleep,直接抛出interruptException,中断标记被清除,设置中断标志位为false。

CyclicBarrier(栅栏)让一组线程等待一个或一些线程,countDownLatch(闭锁)让一组线程等待某个事件。

CopyOnWriterArrayList适合使用在读操作远远大于写操作的场景中,比如缓存。

ReadWriteLock当写操作时,其他线程无法读取或写入数据,而当读操作时,其他线程无法写入数据,但可以读,适用于读取远远大于写入的场景。

Thread.stop()已经弃用。

Thread.suspend()和resume()方法:suspend()使线程进入阻塞状态,并不会自恢复,调用其resume()方法才能使其进入就绪队列。

线程安全问题出现的情况:

1,多个线程使用共用数据时

2,操作共享数据的线程代码

当一个线程在执行操作共享数据的多条代码的过程中,其他线程参与了运算。就会导致线程的安全问题。

解决思路:

就是将多条操作共享数据的线程封装起来,在有线程在执行这些代码的时候,其他线程是不可以参与运算的。

Synchronized :同步代码块:

Synchronize(对象)

{

需要被同步的代码;

}

同步的好处和弊端:

解决了线程的安全问题。

效率有一点点低。因为同步外的线程都会判断同步锁。

同步的使用前提:多线程才使用同步,多线程使用的为同一个锁才使用。

同步代码块:同步代码块的锁是任意的。

同步函数:主线程开启线程后,占用CPU,执行完语句。同步函数使用的锁是当前的对象this。

4、同步监视器:

任何线程进入同步方法,同步代码块之前,必须先获得同步方法,同步代码块对应的同步监视器。对于同步代码块,程序必须显式的为它指定同步监视器。

对于非静态同步方法,该方法的同步监视器是this--调用该方法的对象,

对于静态的同步方法,该方法的同步监视器是类。

Static Synchronized是一个类的共用监视器,synchronized是针对拥有同步方法的类 而存在的当前实例的监视器。

1、线程中锁:conditon线程的阻塞队使用的是condition互斥锁。

Condition是在JDK1.5中才出现,Condition的作用是对锁进行更精确的控制,拥有await()、signal()、signalAll()、用来替代传统的Object()的wait()、notify()、notifyAll()。不同的是,Object中的wait(),notify(),notifyAll()方法是和"同步锁"(synchronized关键字)捆绑使用的;而Condition是需要与"互斥锁"/"共享锁"捆绑使用的。调用await()和signal()都必须在lock.lock()和lock.unlock()之间有效。

2、线程调度分为协同调度和抢占性调度,Java使用的是抢占性调度,每个线程由操作系统分配执行时间。协同式调度是指调度线程由线程自身确定。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-66099-14.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 楚平王熊弃疾
      楚平王熊弃疾

      就是将剩余的小包或者再买同批次的打开

    • 张佳媛
      张佳媛

      历史已经证明

    • 韩晋晋
      韩晋晋

      我爷爷一月2300

    热点图片
    拼命载入中...