线程的概念

简介: 线程的概念

什么是进程?


进程是程序的一次动态执行过程,它是从代码加载、代码执行到执行完毕的一个完整的过程

同一段程序,可以作为执行蓝本被多次加载到系统的不同内存区域中执行,从而形成不同的进程


什么是线程?


线程是比进程更小的单位,可以是进程的一部分。一个进程在其执行过程中,可以产生多个线程,形成多个执行流。


TestNoneThread.java

classLiving{
publicstaticvoidwork()
   { for(inti=0; i<10; i++)
   { 
System.out.print("工作 "); 
   } 
System.out.println(); }
publicstaticvoidrest() {
for (inti=0; i<10; i++) 
     { 
System.out.print("休息 ");
      } 
System.out.println();
      }
}
publicclassTestNoneThread{
publicstaticvoidmain(String[ ] args)
 {
//不能达到工作和休息交替进行的任务Living.work();
Living.rest();
 }
}


运行结果:

image.png

TestWithThread.java

classLiving{
publicstaticvoidwork(){
for(inti=0; i<10; i++){
System.out.print("工作 ");
try{ Thread.sleep(100); }
catch(InterruptedExceptione){}
 }
 }
publicstaticvoidrest(){
for (inti=0; i<10; i++){
System.out.print("休息 ");
try{ Thread.sleep(100); }
catch(InterruptedExceptione){}
 }
 }
}
classWorkThreadextendsThread{
publicvoidrun()
 {
Living.work();
 }
}
classRestThreadextendsThread{
publicvoidrun() {
Living.rest();
 }
}
publicclassTestWithThread{
publicstaticvoidmain(String[] args)
 {
//能达到工作和休息交替进行的任务WorkThreadworkThread=newWorkThread();
RestThreadrestThread=newRestThread();
workThread.start();
restThread.start();
 }
}
workThread.start();
restThread.start();


运行结果:

image.png

目录
相关文章
|
4月前
|
Go 调度 开发者
[go 面试] 深入理解进程、线程和协程的概念及区别
[go 面试] 深入理解进程、线程和协程的概念及区别
|
6月前
|
分布式计算 JavaScript 前端开发
多线程、多进程、协程的概念、区别与联系
多线程、多进程、协程的概念、区别与联系
92 1
|
6月前
|
分布式计算 并行计算 安全
在Python Web开发中,Python的全局解释器锁(Global Interpreter Lock,简称GIL)是一个核心概念,它直接影响了Python程序在多线程环境下的执行效率和性能表现
【6月更文挑战第30天】Python的GIL是CPython中的全局锁,限制了多线程并行执行,尤其是在多核CPU上。GIL确保同一时间仅有一个线程执行Python字节码,导致CPU密集型任务时多线程无法充分利用多核,反而可能因上下文切换降低性能。然而,I/O密集型任务仍能受益于线程交替执行。为利用多核,开发者常选择多进程、异步IO或使用不受GIL限制的Python实现。在Web开发中,理解GIL对于优化并发性能至关重要。
63 0
|
7月前
|
Java
Java中的多线程编程:概念、实现与挑战
【5月更文挑战第30天】本文深入探讨了Java中的多线程编程,涵盖了多线程的基本概念、实现方法以及面临的挑战。通过对Java多线程编程的全面解析,帮助读者更好地理解多线程在Java中的应用,提高程序的性能和效率。
|
3月前
|
数据采集 消息中间件 并行计算
进程、线程与协程:并发执行的三种重要概念与应用
进程、线程与协程:并发执行的三种重要概念与应用
61 0
|
4月前
|
缓存 前端开发 JavaScript
一篇文章助你搞懂java中的线程概念!纯干货,快收藏!
【8月更文挑战第11天】一篇文章助你搞懂java中的线程概念!纯干货,快收藏!
37 0
一篇文章助你搞懂java中的线程概念!纯干货,快收藏!
|
5月前
|
Java 程序员 调度
Java中的多线程编程:概念、实现及性能优化
【5月更文挑战第85天】本文主要探讨了Java中的多线程编程,包括其基本概念、实现方式以及如何进行性能优化。首先,我们将介绍多线程的基本概念,然后详细讨论如何在Java中实现多线程,包括继承Thread类和实现Runnable接口两种方式。最后,我们将探讨一些提高多线程程序性能的策略,如使用线程池和减少同步开销等。
|
5月前
|
监控 Java 调度
Java面试题:描述Java线程池的概念、用途及常见的线程池类型。介绍一下Java中的线程池有哪些优缺点
Java面试题:描述Java线程池的概念、用途及常见的线程池类型。介绍一下Java中的线程池有哪些优缺点
74 1
|
5月前
|
缓存 Linux 编译器
【Linux】多线程——线程概念|进程VS线程|线程控制(下)
【Linux】多线程——线程概念|进程VS线程|线程控制(下)
71 0
|
5月前
|
存储 Linux 调度
【Linux】多线程——线程概念|进程VS线程|线程控制(上)
【Linux】多线程——线程概念|进程VS线程|线程控制(上)
73 0