多线程之线程

概念

说起线程,那就不得不说起进程,不管说的对不对,咱就先大言不惭的说一说。这电脑的操作系统中,进程就是一个程序的一次执行而已,专业点的说法就是系统进行资源分配和调度的一个独立单位。每一个进程都可以并发执行,这样一来,操作系统就可以同时运行多个程序,大大提高了资源利用率。但是呢,有了进程并发还不满足,我们还想让进程执行效率更高一点,在一个进程里,我想让互不相关的操作并发执行,这样就诞生了线程。进程里可以有多个线程并发执行。这么一说,是不是有点小小的明白了。如果还不明白那就当我没说。

实现效果

这次呢我就用java来实现一次简单的多线程(说的好像我会好几种语言似的)。我们用最简单的方式,先创建一个类,继承Thread类,重写run方法。就让它循环输出吧。

这么简单的代码大家都看得懂吧,这样我们就写完了一个线程,接下来让它运行一下子。我们在main方法里启动这个线程,然后在main方法里也写一个循环输出。

看这个代码,如果是单线程,那么理论上,应该是先输出threadDemo0里面的150句,再输出main里边的150条语句。但是我们知道,main方法是一个主线程,threadDemo0又是一个线程,这样就有两个线程同时执行,那么它的运行结果是怎样呢?

是不是很神奇,跟你想象的似乎有那么一点出入,main里第55次循环的时候另一个线程才执行,交错执行了几次,并且中间总会有某一个线程感觉就像停顿了似的,循环执行了十次八次才轮到另一个线程执行。这是为什么呢?嘿嘿嘿.....不告诉你,自己想吧,给你个疑惑(手动滑稽)。

当然java里开辟线程的方式有很多,并不是这一种,不过手段多种多样,思想还是一样的,多线程嘛,重在思想。

发布了24 篇原创文章 · 获赞 9 · 访问量 6050

猜你喜欢

转载自blog.csdn.net/SiuMu_/article/details/96567447