博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java中多线程的使用(一)
阅读量:2053 次
发布时间:2019-04-28

本文共 589 字,大约阅读时间需要 1 分钟。

一、进程与多线程的定义

  进程是指程序的一次动态执行。线程是比进程更小的单位,是在进程基础之上进行的进一步划分,也是用来进行动态的执行程序。多线程是指实现并发机制的一种手段。举个例子:你去A餐馆吃饭点了满汉全席。进程在这里就是指一位服务员为您上菜服务,而多线程是指多个服务员为您服务。这样很明显的可以看出,多线程工作效率更为高效。

二、多线程的实现

 多线程实现两种方法:一继承Thread类,二、实现Runnable接口。以上两种方法,我更倾向于第二种方法。

不管你是用以上哪种方法,在类中都要复写run()方法,在执行是使用start()方法。

以上是继承Thread类,类中复写run()方法,主函数中调用start()方法。下面是程序的输出

从中,我们不难发现线程对象是交错运行的,那个线程先抢到资源,那个线程就先运行,所以,结果不一。

使用Runnable()接口复写run()方法,在主函数中调用start()函数 。Runnable()接口中并没有start()方法,故要通过调用Thread类使用start()方法。Thread类中提供两种构造方法publicThread(Runnable target)public Thread(Runnable target,String name);

以下是结果:

以上结果看出输出的顺序是乱的,即谁先抢到资源,谁先运行。

你可能感兴趣的文章
Kubelet 中的 “PLEG is not healthy” 到底是个什么鬼?
查看>>
不懂OpenShift,不足以谈云计算!
查看>>
别让自己“墙”了自己
查看>>
让你的网站用上炫酷的中文字体
查看>>
使用 font-spider 对 webfont 网页字体进行压缩
查看>>
云原生服务网格 Istio 1.4 部署指南
查看>>
让 Linux 防火墙新秀 nftables 为你的 VPS 保驾护航
查看>>
Istio 1.4 部署指南
查看>>
贫苦家庭用户的 Envoy xDS 控制平面
查看>>
Kubernetes Pod 网络精髓:pause 容器详解
查看>>
Docker 技术鼻祖 Linux Namespace 入门系列:Namespace API
查看>>
使用 ebpf 深入分析容器网络 dup 包问题
查看>>
Kubelet 中的 “PLEG is not healthy” 到底是个什么鬼?
查看>>
超详细的网络抓包神器 Tcpdump 使用指南
查看>>
从 Kubernetes 资源控制到开放应用模型,控制器的进化之旅
查看>>
从此以后运维与开发过上了没羞没臊的性福生活
查看>>
教你如何优雅地魔改 Grafana 主题,太实用了!
查看>>
让我们来看看回到单体的 Istio 到底该怎么部署
查看>>
超详细的网络抓包神器 tcpdump 使用指南
查看>>
iTerm2 都不会用,还敢自称老司机?(上)
查看>>