多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
第1题:
java 中有几种方法可以实现一个线程?用什么关键字修
饰同步方法? stop()和suspend()方法为何不推荐使用?
有两种实现方法,分别使用new Thread()和new Thread(runnable)形式,第一种直接调用
thread 的run 方法,所以,我们往往使用Thread 子类,即new SubThread()。第二种调
用runnable 的run 方法。
有两种实现方法,分别是继承Thread 类与实现Runnable 接口
用synchronized 关键字修饰同步方法
反对使用stop(),是因为它不安全。它会解除由线程获取的所有锁定,而且如果对象处
于一种不连贯状态,那么其他线程能在那种状态下检查和修改它们。结果很难检查出
真正的问题所在。suspend()方法容易发生死锁。调用suspend()的时候,目标线程会停
下来,但却仍然持有在这之前获得的锁定。此时,其他任何线程都不能访问锁定的资
源,除非被"挂起"的线程恢复运行。对任何线程来说,如果它们想恢复目标线程,同
时又试图使用任何一个锁定的资源,就会造成死锁。所以不应该使用suspend(),而应
在自己的Thread 类中置入一个标志,指出线程应该活动还是挂起。若标志指出线程应
该挂起,便用wait()命其进入等待状态。若标志指出线程应当恢复,则用一个notify()
重新启动线程。
第2题:
什么是流量?有几种表示方法?
第3题:
Java中有几种方法可以实现一个线程?用什么关键字修饰同步方法 ?stop()和 suspend()方法为何不推荐使用?
第4题:
多线程有几种实现方法?同步有几种实现方法?
多线程有两种实现方法,分别是继承Thread 类与实现Runnable 接口
同步的实现方面有两种,分别是synchronized,wait 与notify
wait():使一个线程处于等待状态,并且释放所持有的对象的lock。
sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉
InterruptedException 异常。
notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤
醒某一个等待状态的线程,而是由JVM 确定唤醒哪个线程,而且不是按优先级。
Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,
而是让它们竞争。
第5题:
Gdp的核算方法有几种?各都是什么?
(一国的GDP的测算有三种方法:
第一种是可以看这个国家整体生产了多少东西。也叫生产法,即按提供物质产品与劳务的各个部门的产值来计算国内生产总值。它反映了国内生产总值的来源。
如上所述,去年生产的布料已经计入到去年的GDP里,今年生产的衣服的产值就应该减去其中所用的去年布料的价值了。也就是各生产部门要把使用的中间产品的产值扣除,只计算所增加的价值。第二种是收入法。也就是把生产要素在生产中所得到的各种收入相加来计算GDP,即把劳动所得的工资、土地所有者得到的地租、资本所得的利息以及企业家才能得到的利润相加来计算GDP。其中,由于政府往往征收间接税,所以GDP还应包括间接税和企业转移支付。资本折旧也应计入GDP。因为它虽不是要素收入,但包括在总投资中。第三种是支出法。其实是一样的道理,你看一个人有没有钱会看他收入多少,也会看他平时的消费投资等。而对于一个国家,就是从产品的使用出发,把一年内购买的各项最终产品的支出加总而计算出的该年内生产的最终产品的市场价值。这种方法又称最终产品法或产品流动法。在现实生活中,产品和劳务的最后使用,主要是居民消费、企业投资、政府购买和出口。因此,用支出法核算GDP,就是核算一个国家或地区在一定时期内居民消费、企业投资、政府购买和出口这几方面支出的总和。从理论上说,按支出法、收入法与生产法计算的GDP在量上是相等的,但实际核算中常有误差,因而要加上一个统计误差项来进行调整,使其达到一致。实际统计中,一般以支出法所计算出的国内生产总值为标准。)