幼儿饰品瑜伽美体用品微软
投稿投诉
微软创意
爱情通信
用品婚姻
爱好看病
美体软件
影音星座
瑜伽周边
星座办公
饰品塑形
搞笑减肥
幼儿两性
智家潮品

线程有哪些(线程的概念和特点)

  Java中的多线程编程(超详细总结)
  一、线程与多线程的概念
  线程,即单线程,是程序的一条执行线索,执行路径,是程序使用cpu的最小单位。线程本身不能运行,它只能运行在程序中,线程是依赖于程序存在的。
  多线程,从字面上理解,就是从多个单线程一起执行多个任务。在Java编程中,已经给多线程编程提供了内置的支持。多线程是多任务的一种特别的形式,但多线程使用了更小的cpu资源开销。多线程能满足程序员编写高效率的程序来达到充分利用CPU的目的。
  二、线程与进程之间的关系
  进程:一个进程包括由操作系统分配的内存空间,包含一个或多个线程。一个线程不能独立的存在,它必须是进程的一部分。一个进程一直运行,直到所有的非守护线程都结束运行后才能结束。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
  进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,即进程空间或(虚空间)。进程不依赖于线程而独立存在,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。
  线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java。exe进程中可以运行很多线程。线程总是属于某个进程,线程没有自己的虚拟地址空间,与进程内的其他线程一起共享分配给该进程的所有资源。
  同时执行是人的感觉,在线程之间实际上轮换执行。(这句话简明阐述了多线程的实现机制)
  进程在执行过程中拥有独立的内存单元,进程有独立的地址空间,而多个线程共享内存,从而极大地提高了程序的运行效率。
  线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
  进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。
  线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。
  线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程包含以下内容:
  (1)一个指向当前被执行指令的指令指针;(2)一个栈;(3)一个寄存器值的集合,定义了一部分描述正在执行线程的处理器状态的值;(4)一个私有的数据区。
  总而言之:一个程序至少有一个进程,一个进程至少有一个线程。线程的划分尺度小于进程,使得多进程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。
  在Java中,每次程序运行至少启动2个线程:一个是main线程,一个是垃圾收集线程。因为每当使用java命令执行一个类的时候,实际上都会启动一个JVM,每一个JVM实际上就是在操作系统中启动了一个进程。
  三、一个线程的生命周期
  线程是一个动态执行的过程,它也有一个从产生到死亡的过程。下图显示了一个线程完整的生命周期。
  1)新建状态:使用new关键字和Thread类或其子类建立一个线程对象后,该线程对象就处于新建状态。它保持这个状态直到程序start()这个线程。
  2)就绪状态:当线程对象调用了start()方法之后,该线程就进入就绪状态。就绪状态的线程处于就绪队列中,要等待JVM里线程调度器的调度。
  3)运行状态:如果就绪状态的线程获取CPU资源,就可以执行run(),此时线程便处于运行状态。处于运行状态的线程最为复杂,它可以变为阻塞状态、就绪状态和死亡状态。
  4)阻塞状态:如果一个线程执行了sleep(睡眠)、suspend(挂起)等方法,失去所占用资源之后,该线程就从运行状态进入阻塞状态。在睡眠时间已到或获得设备资源后可以重新进入就绪状态。可以分为三种:
  等待阻塞:运行状态中的线程执行wait()方法,使线程进入到等待阻塞状态。
  同步阻塞:线程在获取synchronized同步锁失败(因为同步锁被其他线程占用)。
  其他阻塞:通过调用线程的sleep()或join()发出了IO请求时,线程就会进入到阻塞状态。当sleep()状态超时,join()等待线程终止或超时,或者IO处理完毕,线程重新转入就绪状态。
  5)死亡状态:一个运行状态的线程完成任务或者其他终止条件发生时,该线程就切换到终止状态。
  四、多线程的目的和意义
  多线程的意义:其实任何一个程序的执行都需要获得cpu的执行权,是由cpu来去决定到底是由哪个程序来去执行,那么多线程的存在其实就是最大限度的利用cpu资源,当某一个线程的处理不需要占用cpu而之和IO打交道的时候,让需要占用cpu资源的其他线程有机会获得cpu资源。从根本上说,这就是说多线程编程的目的。
  多线程的目的:不同于其他大多数编程语言,Java本身内置了多线程的支持。使用多线程,可以帮助我们编写出cpu最大利用率的高效程序,使得空闲时间降到最低,这个对于Java运行的交互式的网络互联环境是至关重要的,因为空闲时间是公共的。例如,网络的传输效率远远低于计算机的处理速度,而本地文件系统资源的读写速度也远远低于cpu的处理能力。多线程使得并且能够充分利用这些空闲时间。
  五、线程的实现的方式
  继承Thread类:
  在利用Thread类实现多线程的代码,需要去重写的run()方法,但是重写完run()方法之后,在main函数中只会利用线程类创建对象,然后调用的是start()方法。
  在这里大家可能会问了,为什么不是直接调用重写好的run()方法呢?而是是利用start()方法来开启线程的操作呢?
  这里我简单来回答一下吧,首先通过对象。run()方法可以执行方法,但是不是使用的多线程的方式,就是一个普通的方法,要想实现多线程的方式,一定需要通过对象。start()方法。Java中实现真正的多线程是start中的start()方法,run()方法只是一个普通的方法。
  实现Runnable接口:
  使用继承Thread类的方法和使用实现Runnable接口的方法之间的关系与区别:
  (1)Thread类本身也是实现了Runnable接口,因此也是实现了Runnable接口中的run方法。
  (2)当使用继承Thread类去实现线程时,我们需要重写run方法,因为Thread类中的run方法本身什么事情都不干。
  (3)当使用实现Runnable接口去实现线程时,我们需要重写run方法,然后使用newThread(Runnable)这种方式来生成线程对象,这个时候线程对象中的run方法才会去执行我们自己实现的Runnable接口中的run方法。

晒一下,你上学时期,做过最奇葩的事?我是70后的阿姨了,回想起小时候的奇葩事都会偷笑,想起上学的时候什么事都干得出来,最起码干了很多现在不敢干的事,拿一件事来说吧,印象最深刻,一辈子都忘不了的,亲身体验的,记得读……人生智语呵护好我们的生命(2021。5。28)从这次甘肃白银马拉松遇难事件给我们的教训启示很多,人有时看起来很强大,其实很脆弱,强大的生命瞬间就会化为乌有,自己有心却无力。一是要格外珍视生命。人……武术大师万籁声的功夫到底怎样?武术大师万籁声的功夫当然很牛。在整个福建武术史中,万籁声是不可回避的一个重要人物,只要写福建的武术史,或是谈论福建武术的门派,万籁声的自然门都是要提及。在国家体育院校还没……你见过最扯淡的反人类设计是啥?小米mix前置倒置设计!其实夏普是第一代,但是小米将其发扬光大!小编不否认小米mix对行业的推动,但是这个设计确实反人类!为了实现极致屏占比,小米将mix、mix2、mi……人生就是一个接受与抛弃的过程人生就是一个接受与抛弃的过程,接受那些该坚持的,抛弃那些该放弃的。在成功路上,努力付出,才能有所收获。坚持自己的路,就要坚定信念,接受一切挑战。也许很多人都有急功近利的影……小众又很惊艳的短句文案什么都明白的人最温柔也最冷漠1、时间会融化掉所有的尖锐:2、活得太清醒不是件浪漫的事:3、如果事与愿违那一定另有安排:4、把所有期望降到最低能遇见就是万幸:……这三件事管不得,容易惹祸上身,别瞎操心了人这一辈子,当然是活得越轻松越好,越悠哉越好,可就需要的是一个好心态。有种人,越活越累,本来衣食无忧的生活,他也过得很累,为什么呢?纠其原因,就是爱瞎操心。不管和他……古往今来你认为世界上出现的最奇葩的发明是什么?(有关必回)?谢谢邀请让我说的话,我认为地球上的人类才是最伟大,最奇葩的发明。因为人发明了看不见摸不着的神,并让他安慰自己,折磨自己,影响自己。人发明了酒用来麻醉自己,人发明了毒品来迷……华为的NFC支持哪些城市?什么时候会扩增更多城市?感谢邀请,目前使用手机NFC刷公交卡都很普遍了,比如华为、小米等手机基本都支持NFC交通卡,同时也支持很多城市。华为目前支持160多个城市的交通卡。一、交通卡类型其实交通……上网到今天,你觉得最沙雕的一句话是什么?网络上傻屌的话不少,但是在影视剧中还是有一些很有趣的台词,emmmmmm好吧,确实是很傻屌如果人人都像鲁迅先生这样优秀的话,可能就每人会被抓了元芳你真棒闺女长……鲜花这么养护,多活一星期鲜花的生命是短暂的,买到手的鲜花总希望它能开久一些,Yummy整理了鲜花养护方法大全,一起实践起来吧常规的养护方法,大家应该都比较了解了,重点就是干净、卫生。1。去……当众说话很尴尬?学会即兴演说的技能,任何时候你都能侃侃而谈当你身处一个场合,需要自己发言而又应付不来的时候,你在心里会不会感慨:如果我平时能够做好准备,不断坚持练习的话,就不会临时被叫起来发言,也不知道该讲些什么这么尴尬了!……
头条偏爱的粉丝是哪些?有你吗?最近静下心来研究了一下头条的人员分布及年龄,性别,以及所用机型等等,发现这里面有很大的一个学问在里面,不知道大家有没有同感。网络图片有很大一部分人简单的几个字或者一……聚多佳品打造全新创业机会提到聚多佳品可能知道的人少,不过一提到拼多多大家一定耳熟能详,其实,强大的拼多多是聚多佳品的发展基础,使其在实践的经营中,取得非凡的成绩,很多信任与喜欢享受聚多佳品的人,也可参……网赚高手(网站怎么做)网赚高手(网站怎么做)今天给大家分享一个零成本引流的一个互联网思维。现在不管是做互联网行业还是线下生意,最重要的就是流量,创业的绝大多数人都卡在引流上,特别是新手同……曾经沧海难为水是什么意思(曾经沧海难为水真正的意思到底是什么曾经沧海难为水是什么意思(曾经沧海难为水真正的意思到底是什么?)曾经沧海难为水,除却巫山不是云。这两句诗出自唐代诗人《离思五首》的第四首,这首诗是悼念亡妻韦丛之作,也有说……佰草集新七白美白嫩肤面膜怎么样(七子白面膜的危害极大)日常消耗得最快的护肤单品,大概非面膜莫属了。现在面膜的名头也超多,除了常见的涂抹式面膜、贴片面膜和懒人面膜,更是衍生出了安瓶面膜,医美面膜,冻干面膜等等,这么多种类你知道要怎么……定格动画怎么做(最简单的定格动画素材)一些实用的定格技巧。文章转载自:AdobeID:AdobeChina编辑:darlene7定格动画好做吗?说简单很简单,身边的任何事物都可以作为素材;……英国人的生活习惯(英国人的婚姻观念)英国人的生活习惯(英国人的婚姻观念)很多刚来到英国的小伙伴,经常忍不住吐槽英国的黑暗料理,而当大家继续生活一段时间就会发现英国的黑暗料理只是厨房怪癖的冰山一角而已!……缅怀先烈最好的方式就是去烈士陵园祭奠烈士清明到了,祭奠英烈,是我们为那些为了新中国,为了中华民族的解放,为了我们今天的幸福生活而英勇献身的革命烈士举行的一种庄严肃穆活动。现在很多地方推行网络祭奠,我觉得缅怀先烈……掘金淘汰开拓者,有一个人可以站着离开,那就是利拉德季后赛首轮继续开打,在前几天雄鹿、篮网、76人、老鹰、爵士先后晋级后,八仙过海仅剩最后的三个神仙,而今天又决出2名,分别是掘金和太阳。如果说大家因湖人的淘汰而对詹姆斯还有……洋葱的热量是多少洋葱可以减肥吃吗(图文)洋葱还是受到很多人喜欢的,做成的菜品味道确实不差,那么洋葱的热量大概是多少大卡呢?洋葱可以在减肥的时候吃吗?洋葱的热量是多少洋葱的热量比较低,每100克洋葱之中含有40大……据云南昆明盘龙区检察院消息李心草溺亡涉案男子被提起公诉这两天关于李心草溺亡涉案男子被提起公诉在网上的热度是非常高的,很多网友们也都是非常关注李心草溺亡涉案男子被提起公诉这个事情,为此小编也是在网上进行了一番搜索查阅相关的信息,那么……教科版八年级上物理学案探究凸透镜成像的规律八年级上物理学案识点一探究凸透镜成像的规律【合作探究】演示一凸透镜成像的规律1所需实验器材有哪些?答:2实验器材的安装规则是什么?答:……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网