Thread类,Thread类的常量NORM_PRIORITY代表的优先级是

http://www.itjxue.com  2023-01-17 11:17  来源:未知  点击次数: 

Thread 类的优先级有哪五种

最高 THREAD_PRIORITY_HIGHEST 线程在高于正常优先级上两级上运行。

高于正常 THREAD_PRIORITY_ABOVE_NORMAL 线程在正常优先级上一级上运行。

正常 THREAD_PRIORITY_NORMAL 线程在进程的优先级类上正常运行。

低于正常 THREAD_PRIORITY_BELOW_NORMAL 线程在低于正常优先级下一级上运行。

最低 THREAD_PRIORITY_LOWEST 线程在低于正常优先级下两级上运行。

空闲 THREAD_PRIORITY_IDLE 对于实时优先级类线程在优先级16上运行对于其他优先级类线程在优先级1上运行。

Thread的使用说明

Java当中实现多线程的方法主要有两种方式:集成Thread类和实现Runnable接口定义线程的运行时行为,本文简单介绍一下Thread的简单使用

(1) 定义

Thread:Java中实现线程的具体类,封装了所有的线程操作,通过Thread实例来控制线程行为(运行,停止)

(2)作用

实现多线程

(3)优点

实现简单 ,只需要继承Thread类并重写run()方法即可

(4)缺点

局限性大 :由于集成了Thread类,而Java为单继承方式,意味着当前线程不能再继承其他的类。

无法共享资源 :由于创建一个线程就常见了一个线程实例,而线程实例之间的数据无法进行共享。

资源消耗大 :线程为相当于“一次性消耗品”,当运行完后就需要进行销毁,有当有多个耗时任务时就需要对应开启多个线程进行处理,且开启销毁多个线程本身就会消耗大量资源。

Thread主要有两种使用方法:(1)标准方式(2)匿名方式

(1)标准方式

(2)匿名方式

两种方法的对比

这也就是说如果有多个地方用到了线程类则选择标准方式,如果该线程只在一处使用则可以考虑匿名方式。

模仿售票,一共有两个服务窗口,每一秒售出一张票,每个窗口有100张票。

activity_main.xml:

MainActivity.java:

测试结果

从测试结果可以看出两个线程的资源并没有共享,这是由于各个线程相对独立(不是同一个线程实例)。

以上就是Thead类实现多线程的全部内容。

thread类的方法有哪些

最近整理的jdk1.8最新方法,详细具体用法下载个1.8手册看看就可以

Thread()、Thread(Runnable target)、Thread(Runnable target, String name)、Thread(String name)、Thread(ThreadGroup group, Runnable target)、Thread(ThreadGroup group, Runnable target, String name)、Thread(ThreadGroup group, Runnable target, String name, long stackSize)、Thread(ThreadGroup group, String name)、static int activeCount()、void checkAccess()、static、Thread currentThread()、static void dumpStack()、static int enumerate(Thread[] tarray)、static MapThread,StackTraceElement[] getAllStackTraces()、ClassLoader getContextClassLoader()、static Thread.UncaughtExceptionHandler getDefaultUncaughtExceptionHandler()、long getId()、String getName()、int getPriority()、StackTraceElement[] getStackTrace()、Thread.State、getState()、ThreadGroup getThreadGroup()、Thread.UncaughtExceptionHandlergetUncaughtExceptionHandler()、void interrupt()、static boolean interrupted()、boolean isAlive()、boolean isDaemon()、boolean isInterrupted()、void join()、void join(long millis)、void join(long millis, int nanos)、void run()、void setContextClassLoader(ClassLoader cl)、void setDaemon(boolean on)、static void setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler eh)、void setName(String name)、void setPriority(int newPriority)、void setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler eh)、static void sleep(long millis)、static void sleep(long millis, int nanos)、void start()、String toString()、static void yield()

thread类的方法是什么?

Thread类的常用方法:

String getName()返回该线程的名称。

void setName(String name)改变线程名称,使之与参数name相同。

int getPriority()返回线程的优先级。

void setPriority(int newPriority)更改线程的优先级。

boolean isDaemon()测试该线程是否为守护线程。

void setDaemon(boolean on)将该线程标记为守护线程或用户线程。

void interrupt()中断线程。

static void yield()暂停当前正在执行的线程对象,并执行其他线程。

void join()等待该线程终止。

void run()

void start()

从Object类继承来的方法void notify() void wait()

(责任编辑:IT教学网)

更多

推荐思科认证文章