`
- 浏览:
582589 次
- 性别:
- 来自:
杭州
-
1.java 同步和异步的简单理解
同步就是许多线程同时用一个资源啥的哦,一个在用别的就要等,异步就相反了,可以不用等待
下面这是人家的话:
同步:发送一个请求,等待返回,然后再发送下一个请求
异步:发送一个请求,不等待返回,随时可以再发送下一个请求
同步可以避免出现死锁,读脏数据的发生,一般共享某一资源的时候用,如果每个人都有修改权限,同时修改一个文件,有可能使一个人读取另一个人已经删除的内容,就会出错,同步就会按顺序来修改。
异步则是可以提高效率了,现在cpu都是双核,四核,异步处理的话可以同时做多项工作,当然必须保证是可以并发处理的。
这些都是对的。
同步和异步最大的区别就在于。一个需要等待,一个不需要等待。
比如广播,就是一个异步例子。发起者不关心接收者的状态。不需要等待接收者的返回信息
电话,就是一个同步例子。发起者需要等待接收者,接通电话后,通信才开始。需要等待接收者的返回信息
2.认识Thread的start和run
1) start:
用start方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码。通过调用Thread类的start()方法来启动一个线程,这时此线程处于就绪(可运行)状态,并没有运行,一旦得到spu时间片,就开始执行run()方法,这里方法run()称为线程体,它包含了要执行的这个线程的内容,Run方法运行结束,此线程随即终止。
2) run:
run()方法只是类的一个普通方法而已,如果直接调用Run方法,程序中依然只有主线程这一个线程,其程序执行路径还是只有一条,还是要顺序执行,还是要等待run方法体执行完毕后才可继续执行下面的代码,这样就没有达到写线程的目的。
总结:调用start方法方可启动线程,而run方法只是thread的一个普通方法调用,还是在主线程里执行。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
该文档总结了Java多线程相关的知识点,分享给大家,简单易懂!
多线程 1. 什么是线程: 线程就是程序中单独顺序的流控制。线程本身不能运行,它只能用于程序中。 2. 什么是多线程: 多线程则指的是在单个程序中可以同时运行多个不同的线程执行不同的任务. 说明: 线程是程序内...
强烈推荐,经经验丰富的老师总结的JAVA线程的有关知识点。。
对Java线程总体知识的梳理,主要描述了关键知识点,可以梳理一下思路!
Java多线程知识点整理.pdf
多线程在我们的开发应用中也是回很常用的,希望里面的内容能够可以帮助到你们解决掉你们想要的问题,这是我所期望看到的
Java多线程-知识点梳理和总结-超详细-面试知识点.docx
多线程技术知识点总结
Java多线程--多线程知识点总结和企业真题
单线程、多线程、lock、线程通信、timer
多线程知识点.xmind
Linux多线程编程知识点总结(C语言)(csdn)————程序
多线程、socket知识点
线程知识点
记录cpp知识点,面试题,网络编程,多线程编
进程和线程是程序员入门的难点,也是每一个程序员所必须掌握的基础知识。本文阐述了进程与线程的诞生与死亡。。。。。。。
63-Java多线程知识点总结1
10线程知识点[汇编].pdf
在本篇内容里小编给大家分享了关于Python3多线程基础知识点内容,需要的朋友们跟着学习参考下。