上周写了一篇多线程的文章,其实更多方面是偏基础一点的文章,并且也比较大白话,争取人人都能看的明白,再举一些常见的例子,能很好的帮助你们理解多线程,文章发表以后我投给了几个大号和CSDN反应都挺好的,你们表示但愿能写更多这样的文章,但愿再多写写线程相关的文章,因此我打算从线程的基础开始写起,每周写那么两三篇,你们闲的时候能够看看,也能够多吸取一点东西。多线程
另外,但愿你们在阅读完以后能来个互动点赞什么的,也让我有点创做的动力,另外说说大家的想法什么的,我也好写出更好的文章来,废话很少说了,咱们开始今天的知识点学习吧!学习
在咱们的Java程序中其实有不止一条执行线程,只有当全部的线程都运行结束的时候,这个Java程序才算运行结束。 官方的话给你描述一下:当全部的非守护线程运行结束时,或者其中一个线程调用了System.exit()方法时,这个Java程序才能运行结束。spa
咱们先来举一个例子,好比咱们如今在下载一个500多M的大片,咱们点击开始下载,那个这个时候就等于开启了一个线程去下载咱们的文件,然而这个时候咱们的网速不是很给力,几十KB的在这跑,做为一个年轻人我是等不了了,我不下来,那么这个时候咱们第一个操做就是结束掉这个下载文件的操做,其实更接近程序的来讲,这个时候咱们就须要把这个线程给中断了。线程
咱们接下来写一下这个下载的代码,看一下如何中断一个线程,这里我已经默认大家已经掌握了如何建立一个线程了,这段程序咱们模拟下载,最开始获取系统时间,而后进入循环每次获取系统时间,若是时间超过10秒咱们就中断线程,不在继续下载,下载速度时每秒1M: blog