Java面试题五:什么是串行,并行,并发,同步,异步?

①并发:

      并发编程又叫多线程编程,并发的实质是一个物理上的CPU在若干道程序之间多路复用,有限的资源多用户共享提高效率。任务数多余CPU的核数,通过操作系统的任务调度算法,实现多个任务一起执行的。一个CPU不可能真正同时运行一个一个以上的线程,只能把CPU的时间分为多个时间段,再将各个时间段分给多个线程执行,其他线程处于挂起状态,这种方式称为并发。

②并行:

      两个或者两个以上的事件或者活动在同一时刻发生。多道程序的环境下,允许程序同一时刻在不同的CPU同时执行。当系统有一个以上的CPU的时候,则线程的操作有可能非并发,线程在不同的CPU执行,互不抢占CPU的资源,可以同时执行。

③ 串行和并行:

      串行是指多个任务的时候,各个人物按顺序执行完成一个任务之后才能完成下一个任务。并行是多个任务可以同时执行,异步是多个任务并行的前提条件,也就是并行的线程一定是异步执行的)

④同步和异步:

      同步和异步是指能否开启新的线程。同步不能开启新的线程,异步是可以的。异步和同步是相对的,同步是顺序执行的,执行万一个再执行完下一个,需要等待,协调执行。异步是彼此独立,在等待某事件的过程中,继续做自己的事情,不需要等待上一个事件完成后再继续工作。线程是实现异步的一个方式。异步是让调用方法的主线程不需要同步的等待另一个线程的完成,从而可以主线程做其他的事情。异步是一个调用请求发送给被调用者,而被调用者不用等待结果的返回可以做其他的事情,实现异步可以采取多线程的技术或者交给其他的线程进行处理。例如同步:多任务情况下,一个任务A执行结束,才可以执行另一个任务B,只存在一个线程;异步:多个线程,一个任务A正在执行,同时可以执行另一任务B,任务B不用等待任务A结束才执行,促存在多条线程。

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值