java多线程编程详解

TheDisguiser 2020-09-07 17:10:09 java常见问答 6470

多线程编程是如何互联网的一大进步,如淘宝等大型网站并发都需要使用多线程,下面我们就来了解下多线程。

什么是多线程?

程序

是一个独立运行的内存空间,开发出来的一个应用。

线程和进程

一个程序就是一个进程,一个进程中至少有一个线程(main)。

线程就是一个任务,多个线程就表示多个任务[同时]执行。

并行和并发

并行:同一时间,多个事情同时进行。一边听歌,一边敲代码

并发:同一时间,多个人做同一件事。如商城秒杀活动之类。

多线程示意图:

java多线程编程详解

如何使用多线程?

使用多线程的方式有两种:继承Thread、实现Runnable接口下的run方法。

Thread类实现了Runnable接口,它们之间具有多态关系。

线程是一个子任务,CPU以不确定的方式运行。

Thread.start方式通知线程规划器此线程已经准备就绪,等待调用线程对象的run方法。

如果调用Thread.run方法就不是异步执行了,而是同步。那么次线程对象并不是交给线程规划器来进行处理,而是有main主线程来调用run方法,也就是必须等run方法中的代码执行完毕后才可以执行后面的代码。

自定义线程类中的实例变量针对于其他线程可以有共享与不共享之分:

共享数据的情况就是多个线程可以访问同一个变量。

isAlive方法:判断当前线程是否处于活动状态。

当线程已经启动并且尚未终止时都称为活动状态。

sleep()方法:作用是在执行的毫秒数内让当前正在执行的线程休眠,这个正在执行的线程是指this.currentThread()返回的线程。

getId方法:当前执行代码的线程名称为main时,返回的线程Id是1。

停止线程有三种方法:

使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。

使用stop方法强行终止线程。

以上就是本篇文章的所有内容,需要了解更多java入门知识的小伙伴们请快快关注我们网站吧。

推荐阅读:

java多线程wait,notify浅析

java多线程使用场景有哪些?有何作用?

java多线程面试题一般有哪些?java面试题及答案2020