A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

JANSTI

初级黑马

  • 黑马币:19

  • 帖子:5

  • 精华:0

         视频中将同步异步的时候,只是提到了同步处理不会开辟新的线程,异步处理会开辟新的线程。我个人理解是,同步处理要确保安全,锁定代码要一条一条的执行,而异步处理中的代码都应该不会引起安全问题,例如对于同一属性的赋值就不可以放到异步处理之中,因为不知道哪条线程先执行,会造成属性值的不确定。在运行表现是就是,同步处理是一个线程中一条条执行代码,异步处理是好多线程没有时间顺序执行代码。
       同步异步是相对线程来说的,而并行串行是相对队列来说的。如果我们把代码块塞入全局队列中,这就是串行,代码会根据全局队列中的顺序一条条执行,如果塞入自己创建的队列中,这就是并行,队列中的任务无法确定时间先后执行。
      组合来看,同步+串行,是一条条塞进去,一条条取出来执行,代码执行完一条后在执行下一条,顺序确定。
      异步+串行,塞进去的顺序不确定,但一条条取出来,代码执行完一条后在执行下一条,但顺序可能就不确定了。
      同步+并行,一条条塞进去,执行完一条在塞进另一条,代码执行完一条后在执行下一条,顺序确定。
     异步+并行,塞进去的顺序不确定,取出来执行的顺序不确定。
不知道这么理解对不对

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马