请选择 进入手机版 | 继续访问电脑版

HTML5星空

练习08.01|每日一练Java编程笔试面试题

[复制链接]
发表于 2017-8-2 00:10:03 | 显示全部楼层 |阅读模式


简答题

1、启动一个线程是用 run() 还是 start()?




2、当一个线程进入一个对象的一个 synchronized 方法后,其它线程是否可进入此对象的其它方法?





每天的题目答案会在第二天揭晓

关注公众号

随时随地学习编程知识。

昨日题目及答案:

简答题:

1、同步和异步有何异同,在什么情况下分别使用他们?


答:


如果数据将在线程间共享。


例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。


当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。



2、多线程有几种实现方法?同步有几种实现方法?


答:


多线程有两种实现方法,分别是继承 Thread 类与实现 Runnable 接口。


同步的实现方面有两种,分别是 synchronized、wait 与 notify  


wait():使一个线程处于等待状态,并且释放所持有的对象的 lock。


sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException 异常。


notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。


Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。



尚学堂IT培训--8月开班时间

Java--零基础入门就业班


开课时间:

2017年08月08日、

8月15日、8月22日   

抢座中..


电话:029-62258374  

地址:陕西省西安市高新区科技二路西安软件园天泽大厦五楼


免费听课时间

每周二、四、六

在公众号主页发送【试听】获取免费听课名额


一个有用的公众号


尚学堂java培训

     Android

     web前端

     培训基地

长按关注

亲爱的同学们:

      尚学堂java培训开班前有免费试听课程,想学习又不太确定的同学们赶紧联系老师,获取免费试听名额(每个班级的名额是有限的哦,速联速得)。

    获取方式:打开【尚学堂java培训】公众号,点击-精品课程-我要试听-联系老师获取免费试听名额;或直接联系公众号,让“万能”的小编为您解决一切问题!




点击下方"阅读原文"获取免费听课名额

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快讯
发布主题 快速回复 返回列表

     京ICP备14042305号

html5star team © 2012-2013 html5星空 Comsenz Inc.

GMT+8, 2018-12-14 04:48 , Processed in 0.197737 second(s), 34 queries .

快速回复 返回顶部 返回列表