侧边栏壁纸
博主头像
清如许博主等级

努力成长为一颗大树,一半洒落阴凉,一半沐浴阳光,非常沉默非常骄傲,从不依靠从不寻找

  • 累计撰写 80 篇文章
  • 累计创建 44 个标签
  • 累计收到 5 条评论

目 录CONTENT

文章目录

多线程相关面试题_并行和并发的区别、线程和进程、线程的创建方式、运行状态.md

清如许
2020-04-25 / 0 评论 / 0 点赞 / 356 阅读 / 801 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2021-08-30,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

1,并行和并发有什么区别

并行:多个处理器或多核处理器同时处理多个任务。
并发:多个任务在同一个CPU核上,按细分的时间片轮流(交替)执行,从逻辑上来看并发的任务是同时执行;

简而言之:
并发=两个队列和一台处理器
并发=两个队列和两个处理器

2、线程和进程的区别

一个程序下至少有一个进程,
一个进程下至少有一个线程,一个进程下也可以有多个线程来增加程序的执行速度。

3.守护线程是什么?

守护线程是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。在Java中垃圾回收线程就是特殊的守护线程。

4.创建线程有哪几种方式?

创建线程有三种方式:

  ●继承Thread重写run方法;

  ●实现Runnable接口;

  ●实现Callable接口。

5.线程有哪些状态?线程的状态:

   NEW尚未启动

   RUNNABLE正在执行中

   BLOCKED阻塞的(被同步锁或者I0锁阻塞)

   WAITING永久等待状态

  TIMED_ WAITING 等待指定的时间重新被唤醒的状态

6,sleep()和 wait()的区别

类的不同,sleep()来自Thred ,wait()来着Object,
释放锁,sleep()不释放锁,而wait()释放锁
用法不同,sleep()到时间会自动醒来,自动回复线程,而wait()需要用notify()/ notifyAll()来唤醒线程。

7,线程的run()和start()方法有什么区别

start()方法用于启动线程,
run()方法用于执行线程的运行时代码,
run()可以重复使用,而start()只能调用一次。

0

评论区