多线程实现的四种方式,多线程是什么意思
什么是多线程,什么是程序?一个程序可以有多个进程。程序是一段静态的代码,是应用程序执行的蓝图。
什么是过程?一个进程可以有多个线程。进程是一个有自己地址空间的正在运行的程序。作为蓝本,程序可以多次加载到系统的不同内存区域,分别执行,形成不同的进程。基于进程的功能允许一台计算机同时运行两个或多个程序。
什么是线程?它是一个线程中的单个顺序控制流。在流程执行期间,可以生成多个线程。每个线程都有自己的出现、存在和消亡过程。
线程和进程一样,分为五个阶段:创建、准备、运行、阻塞和终止。
多进程意味着操作系统可以同时运行多个任务(程序)。
多线程意味着多个连续的流在同一个程序中执行。
java实现多线程有两种方式,一种是延续Thread类,另一种是实现Runable接口。
序列:
平行:
同步:同步意味着当A请求B正在使用的资源时,A必须等到B用完资源后才能请求它。
并发性:
异步:异步是指当A请求一个资源时,该资源正在被B使用,A无需等待即可请求。
所以从安全的角度来说,同步是安全的,异步是不安全的,很容易导致死锁。如果一个线程死亡,整个进程将崩溃,但如果没有同步机制,性能将得到提高。
并发性:并发性当有多个线程在运行时,如果系统只有一个CPU,实际上并不能同时运行多个线程。它只能把CPU运行时间分成几个时间段,然后把时间段分配给各个线程执行。当一个时间段内的线程代码运行时,其他线程处于挂起状态。这种方法称为并发。并行:当系统有多个CPU时,线程的操作可能是非并发的。当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程可以同时运行而不抢占CPU资源,这就是所谓的并行。区别:并发和并行是两个既相似又不同的概念。并行是指两个或两个以上的事件同时发生;并发意味着两个或更多的事件发生在同一时间间隔内。在多程序环境中,并发是指在一段时间内,在宏观上有多个程序同时运行,但在单处理器系统中,每一时刻只能执行一个程序,所以这些程序在微观上只能分时交替执行。如果一个计算机系统中有多个处理器,可以将这些可以并发执行的程序分布到多个处理器上实现并行执行,即每个处理器处理一个可以并发执行的程序,这样就可以同时执行多个程序。继承Thread类,重写该类的run()方法:packagecun.thread
公共类Th1 {
公共静态void main(String[] args) {
for(int I=0;i i ) {
system . out . println(thread . current thread()。getName() I);
if(i==3){
thread MyThread 1=new MyThread();//创建新线程
thread MyThread 2=new MyThread();//创建新线程
mythread 1 . start();//调用start()方法使线程进入就绪状态。
mythread 2 . start();//调用start()方法使线程进入就绪状态。
}
}
}
}
类MyThread扩展线程{
private int I=0;
@覆盖
公共无效运行(){
for(int I=0;i i ) {
system . out . println(thread . current thread()。getName() I);
}
}
}
再次运行
如上图,继承Thread类,通过重写run()方法定义了一个新的线程类MyThread,其中run()方法的方法体表示线程需要完成的任务,称为线程执行器。当这个线程类对象被创建时,一个新线程被创建,一个新线程被创建。通过调用线程对象引用的start()方法,线程进入就绪状态。此时,线程可能不会立即执行,这取决于CPU调度的时机。
版权归作者所有:原创作品来自博主Czfhhh,转载授权请联系作者,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。