线程优先级有什么用处?
大家也知道,在这个社会,竞争那么激烈,可想而知,你不努力,就给淘汰,但是在java中,线程莫非也是像我们那样要竞争资源的吗?对,这个也是要抢资源的,他们也是有优先级..不过,这是一个概率问题,不同我们这个社会,出生富二代的,起码比一般人强多,这个时候,在线程中,高优先级的可能会抢到多一点资源,莫非低的,就无法抢到了吗?天道也是公平的,一个低优先级的线程可能一直抢占不到资源,这样他无法运行,这个时候,我们自己就在应用层解决这个线程调度问题了!
在java中,使用1到10表示线程优先级,一般可以使用内置的三个静态变量表示,看下图
设置java线程的方法大家也清楚
Thread high = new Thread();
high.setPriority(Thread.MAX_PRIOPRITY);
high.start();
不过,不一定最高优先级就是一定先调度的
很多人都对其中的一些概念不够明确,如同步、并发等等,让我们先建立一个数据字典,以免产生误会。多线程:指的是这个程序(一个进程)运行时产生了不止一个线程
并行与并发:
并行:多个cpu实例或者多台机器同时执行一段处理逻辑,是真正的同时。
并发:通过cpu调度算法,让用户看上去同时执行,实际上从cpu操作层面不是真正的同时。并发往往在场景中有公用的资源,那么针对这个公用的资源往往产生瓶颈,我们会用TPS或者QPS来反应这个系统的处理能力。
欢迎转载,转载请注明出处!
github: rs1314
欢迎关注共公众号微信 : java微技术
分享我的学习之路和各种java技术,教程资料