Java Applet 入门 20

Java Applet 入门

yy435

太平洋网络学院

第五天

线     程

    前面我们所给出的程序例子,基本都是单线程的,即一个程序只有一条从头到尾的执行路线,然后在程序设计中,很多的时候,我们需要编写具有多线程的程序。这也就是今天要给大家说的线程的问题了。

    多现成是指同时存在几个执行体,按几条不同的执行路线共同工作的情况。Java语言中,有一个重要的功能特点就是它的内置对多线程的支持,它使的变成人员可以很方便地开发出具有多线程功能,能同时处理多个任务的功能强大的应用程序。

一 .Java线程的几个概念

1)程序,进程与线程的关系
程序是一段静态的代码,它是应用软件执行的根本。
进程是程序的一次动态执行过程,它对应了从代码加载、执行到执行完毕的一个完整过程,这个过程也是进程本身从产生、发展到消亡的过程。做为执行蓝本的同一段程序,可以被加载到系统的不同内存区域分别执行,形成不同的进程。
线程是比进程更小的执行单位。一个进程在其执行过程能够中,可以产生 多个线程,形成多条执行线索。每条线索,即每个线程也有它自身的产生、存在和消亡过程,也是一个动态的概念。

2)线程的转台与生命周期
    每个Java程序都有一个缺省的主线程,对于Application,主线程是main()方法执行的线索,对于Applet,主线程指挥浏览器加载并执行Java小程序。要想实现多线程,必须在主现成中创建新的现成对象。Java语言使用Thread类及其自类的对象来表示线程,新建的线程在它的一个完整的生命周期中通常要经历如下的五种状态:
    新建:新生的线程对象出新建状态,此时,它已经有了相应的内存空间和其他资源,并已经被初始化。
    就绪:处于新建状态的线程被启动后,将进入线程队列排队等待CPU时间片,此时它已经具备了运行的条件。一旦轮到它来享用CPU资源时,它就可以脱离创建它的主线程而单独开始自己的生命周期了。另外,原来处于阻塞状态的线程被接触阻塞后也将进入就绪状态。
    运行:当就绪状态的线程被调度并获得处理器资源时,便进入运行状态。
    阻塞:一个正在执行的线程在某些特殊情况下,让出CPU并暂时终止自己的执行,进入睡眠状态。
    死亡:处于死亡状态的纤尘不具有继续运行的能力。线程死亡的原因有两个:一个是正常运行的现成完成它的全部工作后退出。另外的一个则是线程提前强制性地终止,如通过执行stop()方法或destroy()来终止线程。

好了,说了这么多,还是给大家举几个例子,配合例子给大家讲讲线程的始末吧!

二 .Java线程的例子

这个例子只是向大家说明在系统的内部,两个毫不干涉的线程个自执行的情况。从这个例子可以看到每个现成各自执行了多少次!

点击这儿查看源代码及解释

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
<p> <span style="font-size:14px;color:#337FE5;">【为什么学爬虫?】</span> </p> <p> <span style="font-size:14px;">       1、爬虫入手容易,但是深入较难,如何写出高效率爬虫,如何写出灵活性高可扩展爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要数据,这门课程,你都能学到!</span> </p> <p> <span style="font-size:14px;">       2、如果是作为一个其他行业开发者,比如app开发,web开发,学习爬虫能让你加强对技术认知,能够开发出更加安全软件和网站</span> </p> <p> <br /> </p> <span style="font-size:14px;color:#337FE5;">【课程设计】</span> <p class="ql-long-10663260"> <span> </span> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> 一个完整爬虫程序,无论大小,总体来说可以分成三个步骤,分别是: </p> <ol> <li class="" style="font-size:11pt;color:#494949;"> 网络请求:模拟浏览器行为从网上抓取数据。 </li> <li class="" style="font-size:11pt;color:#494949;"> 数据解析:将请求下来数据进行过滤,提取我们想要数据。 </li> <li class="" style="font-size:11pt;color:#494949;"> 数据存储:将提取到数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。 </li> </ol> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> 那么本课程也是按照这几个步骤循序渐进进行讲解,带领学生完整掌握每个步骤技术。另外,因为爬虫多样性,在爬取过程中可能会发生反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序灵活性,分别是: </p> <ol> <li class="" style="font-size:11pt;color:#494949;"> 爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。 </li> <li class="" style="font-size:11pt;color:#494949;"> Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。 </li> </ol> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> 通过爬虫进阶知识点我们能应付大量反爬网站,而Scrapy框架作为一个专业爬虫框架,使用他可以快速提高我们编写爬虫程序效率和速度。另外如果一台机器不能满足你需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 </p> <p style="font-size:11pt;color:#494949;">   </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> 从基础爬虫到商业化应用爬虫,本套课程满足您所有需求! </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <br /> </p> <p> <br /> </p> <p> <span style="font-size:14px;background-color:#FFFFFF;color:#337FE5;">【课程服务】</span> </p> <p> <span style="font-size:14px;">专属付费社群+定期答疑</span> </p> <p> <br /> </p> <p class="ql-long-24357476"> <span style="font-size:16px;"><br /> </span> </p> <p> <br /> </p> <p class="ql-long-24357476"> <span style="font-size:16px;"></span> </p>
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值