多线程的相关概念

Posted objecting

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程的相关概念相关的知识,希望对你有一定的参考价值。

继承Thread类

步骤:

1,编写线程类,继承Thread

2,重写public void run()方法,他的方法体就是这个线程的线程体(这个线程要完成的任务)

3,常见线程类对象

4,启动:必须调用start()

实现Runnable接口

1,步骤

1,编写线程类,实现Runnable接口

2,重写public void run()方法,它的方法体就是这个线程的线程体(这个线程要完成的任务)

3,创建线程类对象

4,启动:必须调用start()

两种方式的区别

1、继承的方式有单继承的限制,实现的方式可以多实现

2、启动方式不同

3、继承的方式,在实现共享数据时,可能需要静态的

实现的方式,只要共享同一个Runnable实现类的对象即可。

4、继承的方式,选择锁时this可能不能用,

实现的方式,选择锁时this可以用。

其他方法

(1)启动:start(),每一个线程对象只能调用一次

(2)run():必须重写

(3)static void sleep(时间):线程休眠

(4)void join():加塞,这句代码出现在哪个线程(例如:A)的线程体中,调用join()方法的线程对象(例如:B)会将A阻塞,只有B结束,A才能恢复。

void join(时间):加塞,这句代码出现在哪个线程(例如:A)的线程体中,调用join()方法的线程对象(例如:B)会将A阻塞,时间到后,A才能恢复。

(5)static void yield():这句代码出现在哪个线程(例如:A)的线程体中,当A线程运行到这句yield()代码时,会暂停运行,让出CPU,重新开始和其他线程竞争CPU。

(6)getName()/setName():设置和获取线程名称

(7)getPriority()/setPriority():设置和获取线程的优先级。优先级必须在[1,10]之间。有三个常量:MAX_PRIORITY(10),MIN_PRIORITY(1),NORM_PRIORITY(5)。优先级时影响使用了抢占式策略的调度机制时CPU调度的概率。

(8)boolean isAlive():判断某个线程是否处于活动状态(已启动还未死亡)。

(9)void setDaemon(boolean):设置某个线程是否为守护线程(守护线程为其他非守护服务的,当其他非守护线程死亡了,它自动死亡)。

(10)static Thread currentThread():获取当前线程对象。

以上是关于多线程的相关概念的主要内容,如果未能解决你的问题,请参考以下文章

Java 多线程 相关概念

复习多线程相关知识

复习多线程相关知识

复习多线程相关知识

多线程相关概念

Linux 多进程多线程相关概念