13.1 进程的简单描述
* 进程:分配资源最小的单位
* 线程:“同时”去做几件事情
* 进程与线程:
* 一个程序一个进程;
* 一个进程最少有一个线程
* 并行与并发:cpu-单核、双核、四核、八核
* 并行:真正的"同时"
* 并发:不是真正的"同时"
* 控制不了并行,一般只说并发:并发量
* 系统:实时-分时-时间轮
* 线程的实现方式 1.继承Thread 2.实现 Runnable接口
* 线程的状态state:就绪- <运行-阻塞> - 死亡
13.2 线程的生命周期,视图如下:
13.3 线程的实现方法,继承Thread,和实现Runnable举例:
第一种方式:继承Thread的实现,代码如下:
packagecom.eduask.thread.base;
publicclassTestExtendsThread {
publicstaticvoidmain(String[] args) {
MyThread myThread=newMyThread();
//线程的启动;
myThread.start();
}
}
//创建一个MyThread继承Thread;
classMyThreadextendsThread{
//添加运行方法;
@Override
publicvoidrun() {
System.out.println("继承Thread实现");
}
}
运行结果如图所示:
13.4 线程的第二个实现方式:实现Runnable接口,代码如下:
packagecom.eduask.thread.base;
publicclassTestRunnable {
publicstaticvoidmain(String[] args) {
// 创建类的对象;
MyRunnable myRunnable =newMyRunnable();
// 将类添加到线程中去;
Thread thread =newThread(myRunnable);
// 线程的启动;
thread.start();
}
}
// 创建一个MyRunnable实现Runnable接口;
classMyRunnableimplementsRunnable {
@Override
publicvoidrun() {
System.out.println("Runnable实现线程");
}
}
程序运行如下:
13.5 线程的优先级
Max_priority 的权限最高 最高为10;
Min_priority 的权限最底 最高为1;
Norm_priority 为默认权限 等级为5;
13.6 权限等级的测试,代码如下;
packagecom.eduask.thread.base;
publicclassThreadPriorityTest {
publicstaticvoidmain(String[] args) {
/**
*创建最高几线程设置权限为10;
*/
MaxPriority maxPriority=newMaxPriority();
maxPriority.setPriority(10);
maxPriority.start();
/**
* 创建最底线程设置权限为1;
*/
MinPriority minPriority=newMinPriority();
minPriority.setPriority(1);
minPriority.start();
/**
* 创建默认线程设置权限为5;
*/
NormPriority normPriority=newNormPriority();
normPriority.setPriority(5);
normPriority.start();
}
}
classMaxPriorityextendsThread{
@Override
publicvoidrun() {
for(inti = 0; i <1000; i++) {
System.out.println("MaxPriority"+i+" ");
}
}
}
classMinPriorityextendsThread{
@Override
publicvoidrun() {
for(inti = 0; i <1000; i++) {
System.out.println("MinPriority"+i+" ");
}
}
}
classNormPriorityextendsThread{
@Override
publicvoidrun() {
for(inti = 0; i <1000; i++) {
System.out.println("NormPriority"+i+" ");
}
}
}
分享到:
相关推荐
本人写了一个java进程通信的工具jar,方便大家简单的使用java进程通信。 开启守护进程,获取消息: package com.test; import org.msun.process.ProcessMonitor; import org.msun.process.ProcessMonitor....
Java进程间的管道通信是一种进程间通信(IPC,Inter-Process Communication)的方式,它允许不同的Java进程之间通过共享的管道进行数据传输。虽然Java标准库不直接支持创建管道文件,但可以借助于操作系统提供的功能...
Java进程调度算法模拟是计算机科学中的一个重要概念,特别是在多任务操作系统和并发编程中。这个话题源于操作系统原理,但在Java环境中,我们可以通过编程实现对进程调度的模拟,以便理解和掌握不同的调度策略。在这...
java进程间通讯机制代码----RMI、共享内存、Socket、管道,等方式,每种方法我都讲了原理和例子程序,很有参考意义。在网上很难找到的。
Java进程间通信(IPC, Inter-Process Communication)是多进程应用程序之间共享数据和协同工作的关键技术。在这个特定的实例中,我们关注的是通过管道(Pipe)实现的IPC,这是Java提供的一种简单而有效的通信机制。...
在Java编程环境中,当遇到“Java进程CPU占用率高”的问题时,这通常意味着Java应用程序在执行过程中消耗了大量计算资源,可能导致系统响应变慢,甚至出现性能瓶颈。本篇文章将深入探讨这个问题,并提供相关解决方案...
zabbix自动发现JAVA进程,并进行自动添加监控JAVA 进程的JVM数据,统计分析告警监控。 支持多种中间件,tomcat、weblogic、微服务方式部署JAVA应用监控。 自带发现脚本和监控脚本,以及zabbix导入模板。
Linux查看处理Java进程
Java进程间的网络通信是计算机编程中的一个重要概念,它允许运行在不同或相同计算机上的多个Java应用程序之间交换数据。在这个场景中,我们有两个关键文件:EchoServer.java和EchoClient.java,它们分别代表服务器端...
JAVA 进程占用巨大内存的分析 在 64 位 LINUX 系统上,JAVA 进程的内存占用是一个非常重要的问题。根据给定的文件信息,我们可以看到,JAVA 进程在 64 位 LINUX 下占用了巨大内存,达到 11G,已分配地址空间更是 17...
java进程间通信机制.ppt
java进程方法栈分析方法。可以找到导致服务器负载高的线程的相应代码。
java进程间通讯机制代码 RMI(Remote Method Invocation)是一种基于Java的分布式编程模型,为java程序提供远程访问服务接口。
本项目名为"java进程项目",显然与Java程序的运行和管理有关,特别是涉及到使用Maven进行构建以及项目的部署过程。下面将详细介绍相关知识点。 **Java进程** Java进程是指在操作系统中运行的Java应用程序实例,每个...
本项目“JAVA进程管理模拟”旨在通过一个图形用户界面(GUI)来直观地展示进程优先级如何影响进程的执行顺序和资源分配。下面我们将深入探讨相关知识点。 首先,我们来理解“进程”。在操作系统中,进程是程序的一...
本项目是基于Java的Jarboot Java进程管理平台设计源码,包含551个文件,其中包括399个Java源文件、46个TSX文件、38个TS文件、14个XML文件、9个PNG图片文件、6个Markdown文档、6个Less文件、4个gitignore文件、3个...
`bin`目录可能包含编译后的可执行文件或脚本,用于启动和管理这些Java进程。为了深入了解实现细节,需要查看源代码并理解其逻辑。 总的来说,Java实现守护进程、监听进程以及管理多个进程和JVM涉及多线程、网络编程...
作用:专门杀java进程。 在开发码代码时:刚写的代码打包,编译无效,无需重启电脑,直接运行此文件可以杀java进程,然后在重新编译,打包解决编译无效的事情。
为了获取这些信息,我们可以使用jstack工具,它是Java开发工具包(JDK)的一部分,能够输出Java进程的线程堆栈跟踪信息。 jstack命令通常可以输出以下类型的信息: 1. 线程的完整堆栈跟踪,包括本地方法。 2. 显示...
本资料包“java进程通信.zip”可能包含详细讲解Java进程通信的文档或代码示例。 在Java中,主要的进程通信方法有以下几种: 1. **管道(Pipes)**:Java通过`java.io.PipedInputStream`和`java.io....