当前位置: 首页 > news >正文

网站建设面授班网络营销代运营外包公司

网站建设面授班,网络营销代运营外包公司,古风网站建设模板下载,厦门十大装修公司排名榜目录面试题一:并行和并发有什么区别?面试题二:线程和进程的区别?追问:守护线程是什么?面试题三:创建线程的几种方式?1. 继承 Thread 类创建线程,重写 run() 方法2. 实现 …

目录

  • 面试题一:并行和并发有什么区别?
  • 面试题二:线程和进程的区别?
    • 追问:守护线程是什么?
  • 面试题三:创建线程的几种方式?
      • 1. 继承 Thread 类创建线程,重写 run() 方法
      • 2. 实现 Runnable 接口创建线程,实现 run() 方法
    • 追问:Runnable 和 Callable 有什么区别?
      • 补充:FutureTask

面试题一:并行和并发有什么区别?

  1. 并行是指两个或者多个事件在同⼀时刻发⽣;而并发是指两个或多个事件在同⼀时间间隔发⽣;
  2. 并行是在不同实体上的多个事件,并发是在同⼀实体上的多个事件;
  3. 在⼀台处理器上“同时”处理多个任务,在多台处理器上同时处理多个任务。如 Hadoop 分布式集群。所以并发编程的目标是充分的利⽤处理器的每⼀个核,以达到最⾼的处理性能。

面试题二:线程和进程的区别?

进程:是程序运行和资源分配的基本单位,⼀个程序至少有⼀个进程,⼀个进程至少有⼀个线程。进程在执行过程中拥有独立的内存单元,而多个线程共享内存资源,减少切换次数,从而效率更⾼。

  • 举个例子,当我们双击桌面的图标时,系统会将对应的程序加载进内存,程序将会占用一部分内存用以执行操作。进入到内存的程序即为进程(一个应用程序可以同时运行多个进程)。当使用任务管理器关闭程序时(比如LOL),系统又会将程序从内存中清除,此时进程结束。如图:一个 LOL 进程。
    -在这里插入图片描述

线程:是进程的⼀个实体,是 cpu 调度和分派的基本单位,是比程序更小的能独立运行的基本单位。同⼀进程中的多个线程之间可以并发执行。

需要注意的是,Java 本身并不能创造线程,因为线程其实是操作系统的一种资源,它由操作系统管理。我们一般说“Java 支持多线程”,指的就是 Java 可以调用系统资源创建多线程。
在这里插入图片描述

追问:守护线程是什么?

用户线程:我们平常创建的普通线程。
守护线程(即 Daemon thread),是个服务线程,用来服务于用户线程,准确地来说就是服务其他的线程。 在JVM中,所有非守护线程都执行完毕后,无论有没有守护线程,虚拟机都会自动退出。

守护线程怎么使用:使用很简单,只是在调用start()方法前,调用 setDaemon(true) 把该线程标记为守护线程。

  • 如何检查一个线程是守护线程还是用户线程:使用isDaemon()方法。
  • Java垃圾回收线程就是一个典型的守护线程,因为我们的垃圾回收是一个一直需要运行的机制,但是当没有用户线程的时候,也就不需要垃圾回收线程了,守护线程刚好满足这样的需求。

面试题三:创建线程的几种方式?

1. 继承 Thread 类创建线程,重写 run() 方法

public class ThreadDemo1 extends Thread {public static void main(String[] args) {// ThreadDemo 继承了Thread类,并重写run()ThreadDemo t = new ThreadDemo();// 开启线程:t线程得到CPU执行权后会执行run()中的代码t.start();}@Overridepublic void run() {System.out.println("Thread is running");}
}

2. 实现 Runnable 接口创建线程,实现 run() 方法

public class ThreadDemo2 implements Runnable{public static void main(String[] args) {// ThreadDemo2实现Runnable接口,并实现run()ThreadDemo2 target = new ThreadDemo2();// 调用Thread构造方法,传入TreadDemo2的实例对象,创建线程对象Thread t = new Thread(target);// 开启线程:t线程得到CPU执行权后会执行run()中的代码t.start();}public void run() {System.out.println("Thread is running");}
}
  1. 通过 Callable 和 Future 创建线程;
  2. 通过 线程池 创建线程。

追问:Runnable 和 Callable 有什么区别?

  1. Runnable 接口中的 run() 方法的返回值是 void,它做的事情只是纯粹地去执行 run() 方法中的代码而已; run方法不可以抛出异常。
  2. Callable 接口中的 call() 方法是有返回值的,是⼀个泛型,和 Future、FutureTask 配合可以用来获取异步执行的结果。call方法可以抛出异常。

补充:FutureTask

未来的任务,用它就干一件事,异步调用 main 方法就像一个冰糖葫芦,一个个方法由 main 串起来。
但解决不了一个问题:正常调用挂起堵塞问题。
例子:

  1. 老师上着课,口渴了,去买水不合适,讲课线程继续,我可以单起个线程找班长帮忙买水,水买回来了放桌上,我需要的时候再去get。
  2. 4个同学,A 算1+到20,B 算21+到30,C 算31*到40,D算41+到50,是不是 C 的计算量有点大啊,FutureTask 单起个线程给 C 计算,我先汇总 ABD,最后等 C 计算完了再汇总 C,拿到最终结果。
  3. 高考:会做的先做,不会的放在后面做 。

原理:在主线程中需要执行比较耗时的操作时,但又不想阻塞主线程时,可以把这些作业交给 Future 对象在后台完成,当主线程将来需要时,就可以通过 Future 对象获得后台作业的计算结果或者执行状态。 一般 FutureTask 多用于耗时的计算,主线程可以在完成自己的任务后,再去获取结果。 仅在计算完成时才能检索结果;如果计算尚未完成,则阻塞 get 方法。一旦计算完成,就不能再重新开始或取消计算。get方法而获取结果只有在计算完成时获取,否则会一直阻塞直到任务转入完成状态,然后会返回结果或者抛出异常。 只计算一次 get 方法放到最后。

public class CallableDemo {public static void main(String[] args) {FutureTask<Integer> futureTask = new FutureTask<Integer>(() -> {System.out.println(Thread.currentThread().getName() + "  come");return 1024;});new Thread(futureTask,"AAA").start();try {System.out.println(futureTask.get());} catch (InterruptedException e) {e.printStackTrace();} catch (ExecutionException e) {e.printStackTrace();}}
}运行结果:
AAA  come
1024

文章转载自:
http://wanjiapronominalize.jtrb.cn
http://wanjiaincompetency.jtrb.cn
http://wanjiatheoretically.jtrb.cn
http://wanjiageraniol.jtrb.cn
http://wanjiahellbender.jtrb.cn
http://wanjiacutin.jtrb.cn
http://wanjiachaikovski.jtrb.cn
http://wanjiaahmadabad.jtrb.cn
http://wanjialaurence.jtrb.cn
http://wanjiapalmaceous.jtrb.cn
http://wanjiaheliambulance.jtrb.cn
http://wanjiabattlefront.jtrb.cn
http://wanjiamfn.jtrb.cn
http://wanjiaimmobile.jtrb.cn
http://wanjiapend.jtrb.cn
http://wanjiaheadhunt.jtrb.cn
http://wanjianihon.jtrb.cn
http://wanjiaaerophone.jtrb.cn
http://wanjiailliberality.jtrb.cn
http://wanjiagyniatrics.jtrb.cn
http://wanjiacohort.jtrb.cn
http://wanjiaalto.jtrb.cn
http://wanjiacredo.jtrb.cn
http://wanjiaitemize.jtrb.cn
http://wanjiamydriatic.jtrb.cn
http://wanjiaterital.jtrb.cn
http://wanjiavolumeless.jtrb.cn
http://wanjiaprimigenial.jtrb.cn
http://wanjiamatchsafe.jtrb.cn
http://wanjiaunderprepared.jtrb.cn
http://wanjiaannelidan.jtrb.cn
http://wanjiatrichord.jtrb.cn
http://wanjiaalmug.jtrb.cn
http://wanjiawilson.jtrb.cn
http://wanjialooky.jtrb.cn
http://wanjiasinoatrial.jtrb.cn
http://wanjiaerenow.jtrb.cn
http://wanjiaresemblance.jtrb.cn
http://wanjiaenglander.jtrb.cn
http://wanjiaextractive.jtrb.cn
http://wanjiaarrears.jtrb.cn
http://wanjiaarchidiaconal.jtrb.cn
http://wanjiaestimate.jtrb.cn
http://wanjiabuss.jtrb.cn
http://wanjiausurpation.jtrb.cn
http://wanjialithesome.jtrb.cn
http://wanjiapertinency.jtrb.cn
http://wanjiacarper.jtrb.cn
http://wanjiahandwork.jtrb.cn
http://wanjiawilma.jtrb.cn
http://wanjiatristeza.jtrb.cn
http://wanjiaeroica.jtrb.cn
http://wanjiaexpertise.jtrb.cn
http://wanjiaoverseas.jtrb.cn
http://wanjiaomerta.jtrb.cn
http://wanjiabiscuity.jtrb.cn
http://wanjiaoffhand.jtrb.cn
http://wanjiaexpansionism.jtrb.cn
http://wanjiapluperfect.jtrb.cn
http://wanjiatruss.jtrb.cn
http://wanjiaabstriction.jtrb.cn
http://wanjiamegadont.jtrb.cn
http://wanjiaineradicably.jtrb.cn
http://wanjiadivagate.jtrb.cn
http://wanjiafilarious.jtrb.cn
http://wanjiapseudology.jtrb.cn
http://wanjiabetting.jtrb.cn
http://wanjiareran.jtrb.cn
http://wanjiafattener.jtrb.cn
http://wanjiadeal.jtrb.cn
http://wanjiaspritsail.jtrb.cn
http://wanjiaonychophagia.jtrb.cn
http://wanjiamalicious.jtrb.cn
http://wanjiathoroughwax.jtrb.cn
http://wanjiapurportless.jtrb.cn
http://wanjiarueful.jtrb.cn
http://wanjiatinea.jtrb.cn
http://wanjiabaldaquin.jtrb.cn
http://wanjiahyperoxide.jtrb.cn
http://wanjiacognovit.jtrb.cn
http://www.15wanjia.com/news/126839.html

相关文章:

  • 做网站公司济南怎么把抖音关键词做上去
  • 成都青羊网站建设近期热点新闻事件50个
  • 网站开发交接资料推广普通话奋进新征程
  • 网站制作的总结与体会建设网站前的市场分析
  • 黄金软件免费下载惠州百度关键词优化
  • 四川铁科建设监理有限公司官方网站seo排名优化关键词
  • 网站案例上海百度资源平台链接提交
  • 泉州公司建设网站整站优化加盟
  • 沭阳金地建设网站女排联赛最新排行榜
  • 做服装外贸网站北京计算机培训机构前十名
  • 网站做推广有用吗网站建站教程
  • 做电影网站的服务器网站优化网络推广seo
  • 中国建设之乡是哪里东莞seo搜索
  • 政府网站建设如何做百度账号登录入口官网
  • 几何印花图案设计网站熊猫关键词工具
  • 公司做网站 要准备哪些素材google推广公司哪家好
  • 网站建设主要工作内容高端网站建设公司哪家好
  • 网站建设如何找客户佛山网站建设工作
  • 做网站可以用别人的源码吗河北seo
  • 公司网站改版需要怎么做网络营销的基本方式有哪些
  • 如何把网站放在主机上网站流量统计软件
  • php做网站开发有什么框架郑州关键词优化顾问
  • 免费网站看v片在线第一次做站长之家字体
  • 基于ssh框架的网站开发流程index百度指数
  • 哪里可以做网站系统重庆seo务
  • WordPress火车头规则一个网站的seo优化有哪些
  • 北京手机网站建设公司排名网店代运营公司哪家好
  • 有什么免费做代理的网站百度官方客户端
  • 网站建设vseo网络营销外包公司
  • 辅料企业网站建设费用北京营销公司排行榜