线程的概念

简介: 线程的概念

什么是进程?


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

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


什么是线程?


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


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

目录
相关文章
|
1月前
|
设计模式 消息中间件 安全
【JUC】(3)常见的设计模式概念分析与多把锁使用场景!!理解线程状态转换条件!带你深入JUC!!文章全程笔记干货!!
JUC专栏第三篇,带你继续深入JUC! 本篇文章涵盖内容:保护性暂停、生产者与消费者、Park&unPark、线程转换条件、多把锁情况分析、可重入锁、顺序控制 笔记共享!!文章全程干货!
196 1
|
9月前
|
存储 Linux API
【Linux进程概念】—— 操作系统中的“生命体”,计算机里的“多线程”
在计算机系统的底层架构中,操作系统肩负着资源管理与任务调度的重任。当我们启动各类应用程序时,其背后复杂的运作机制便悄然展开。程序,作为静态的指令集合,如何在系统中实现动态执行?本文带你一探究竟!
【Linux进程概念】—— 操作系统中的“生命体”,计算机里的“多线程”
|
Go 调度 开发者
[go 面试] 深入理解进程、线程和协程的概念及区别
[go 面试] 深入理解进程、线程和协程的概念及区别
|
分布式计算 JavaScript 前端开发
多线程、多进程、协程的概念、区别与联系
多线程、多进程、协程的概念、区别与联系
369 1
Java中的多线程编程:概念、实现与挑战
【5月更文挑战第30天】本文深入探讨了Java中的多线程编程,涵盖了多线程的基本概念、实现方法以及面临的挑战。通过对Java多线程编程的全面解析,帮助读者更好地理解多线程在Java中的应用,提高程序的性能和效率。
|
分布式计算 并行计算 安全
在Python Web开发中,Python的全局解释器锁(Global Interpreter Lock,简称GIL)是一个核心概念,它直接影响了Python程序在多线程环境下的执行效率和性能表现
【6月更文挑战第30天】Python的GIL是CPython中的全局锁,限制了多线程并行执行,尤其是在多核CPU上。GIL确保同一时间仅有一个线程执行Python字节码,导致CPU密集型任务时多线程无法充分利用多核,反而可能因上下文切换降低性能。然而,I/O密集型任务仍能受益于线程交替执行。为利用多核,开发者常选择多进程、异步IO或使用不受GIL限制的Python实现。在Web开发中,理解GIL对于优化并发性能至关重要。
227 0
|
11月前
|
调度 开发者
核心概念解析:进程与线程的对比分析
在操作系统和计算机编程领域,进程和线程是两个基本而核心的概念。它们是程序执行和资源管理的基础,但它们之间存在显著的差异。本文将深入探讨进程与线程的区别,并分析它们在现代软件开发中的应用和重要性。
443 4
|
缓存 前端开发 JavaScript
一篇文章助你搞懂java中的线程概念!纯干货,快收藏!
【8月更文挑战第11天】一篇文章助你搞懂java中的线程概念!纯干货,快收藏!
146 0
一篇文章助你搞懂java中的线程概念!纯干货,快收藏!
|
数据采集 消息中间件 并行计算
进程、线程与协程:并发执行的三种重要概念与应用
进程、线程与协程:并发执行的三种重要概念与应用
404 0
|
Java 程序员 调度
Java中的多线程编程:概念、实现及性能优化
【5月更文挑战第85天】本文主要探讨了Java中的多线程编程,包括其基本概念、实现方式以及如何进行性能优化。首先,我们将介绍多线程的基本概念,然后详细讨论如何在Java中实现多线程,包括继承Thread类和实现Runnable接口两种方式。最后,我们将探讨一些提高多线程程序性能的策略,如使用线程池和减少同步开销等。

热门文章

最新文章