java进程
2016-08-16 10:46
501 查看
13.1 进程的简单描述
* 进程:分配资源最小的单位
* 线程:“同时”去做几件事情
* 进程与线程:
* 一个程序一个进程;
* 一个进程最少有一个线程
* 并行与并发:cpu-单核、双核、四核、八核
* 并行:真正的"同时"
* 并发:不是真正的"同时"
* 控制不了并行,一般只说并发:并发量
* 系统:实时-分时-时间轮
* 线程的实现方式 1.继承Thread 2.实现 Runnable接口
* 线程的状态state:就绪- <运行-阻塞> - 死亡
13.2 线程的生命周期,视图如下:
13.3 线程的实现方法,继承Thread,和实现Runnable举例:
第一种方式:继承Thread的实现,代码如下:
package com.eduask.thread.base;
public class TestExtendsThread {
public static void main(String[] args) {
MyThread myThread=new MyThread();
//线程的启动;
myThread.start();
}
}
//创建一个MyThread继承Thread;
class MyThread extends Thread{
//添加运行方法;
@Override
public void run() {
System.out.println("继承Thread实现");
}
}
运行结果如图所示:
13.4 线程的第二个实现方式:实现Runnable接口,代码如下:
package com.eduask.thread.base;
public class TestRunnable {
public static void main(String[] args) {
// 创建类的对象;
MyRunnable myRunnable = new MyRunnable();
// 将类添加到线程中去;
Thread thread = new Thread(myRunnable);
// 线程的启动;
thread.start();
}
}
// 创建一个MyRunnable实现Runnable接口;
class MyRunnable implements Runnable {
@Override
public void run() {
System.out.println("Runnable实现线程");
}
}
程序运行如下:
13.5 线程的优先级
Max_priority 的权限最高 最高为10;
Min_priority 的权限最底 最高为1;
Norm_priority 为默认权限 等级为5;
13.6 权限等级的测试,代码如下;
package com.eduask.thread.base;
public class ThreadPriorityTest {
public static void main(String[] args) {
/**
*创建最高几线程设置权限为10;
*/
MaxPriority maxPriority=new MaxPriority();
maxPriority.setPriority(10);
maxPriority.start();
/**
* 创建最底线程设置权限为1;
*/
MinPriority minPriority=new MinPriority();
minPriority.setPriority(1);
minPriority.start();
/**
* 创建默认线程设置权限为5;
*/
NormPriority normPriority=new NormPriority();
normPriority.setPriority(5);
normPriority.start();
}
}
class MaxPriority extends Thread{
@Override
public void run() {
for (int i = 0; i <1000; i++) {
System.out.println("MaxPriority"+i+" ");
}
}
}
class MinPriority extends Thread{
@Override
public void run() {
for (int i = 0; i <1000; i++) {
System.out.println("MinPriority"+i+" ");
}
}
}
class NormPriority extends Thread{
@Override
public void run() {
for (int i = 0; i <1000; i++) {
System.out.println("NormPriority"+i+" ");
}
}
}
* 进程:分配资源最小的单位
* 线程:“同时”去做几件事情
* 进程与线程:
* 一个程序一个进程;
* 一个进程最少有一个线程
* 并行与并发:cpu-单核、双核、四核、八核
* 并行:真正的"同时"
* 并发:不是真正的"同时"
* 控制不了并行,一般只说并发:并发量
* 系统:实时-分时-时间轮
* 线程的实现方式 1.继承Thread 2.实现 Runnable接口
* 线程的状态state:就绪- <运行-阻塞> - 死亡
13.2 线程的生命周期,视图如下:
13.3 线程的实现方法,继承Thread,和实现Runnable举例:
第一种方式:继承Thread的实现,代码如下:
package com.eduask.thread.base;
public class TestExtendsThread {
public static void main(String[] args) {
MyThread myThread=new MyThread();
//线程的启动;
myThread.start();
}
}
//创建一个MyThread继承Thread;
class MyThread extends Thread{
//添加运行方法;
@Override
public void run() {
System.out.println("继承Thread实现");
}
}
运行结果如图所示:
13.4 线程的第二个实现方式:实现Runnable接口,代码如下:
package com.eduask.thread.base;
public class TestRunnable {
public static void main(String[] args) {
// 创建类的对象;
MyRunnable myRunnable = new MyRunnable();
// 将类添加到线程中去;
Thread thread = new Thread(myRunnable);
// 线程的启动;
thread.start();
}
}
// 创建一个MyRunnable实现Runnable接口;
class MyRunnable implements Runnable {
@Override
public void run() {
System.out.println("Runnable实现线程");
}
}
程序运行如下:
13.5 线程的优先级
字段摘要 | |
static int | MAX_PRIORITY 线程可以具有的最高优先级。 |
static int | MIN_PRIORITY 线程可以具有的最低优先级。 |
static int | NORM_PRIORITY 分配给线程的默认优先级。 |
Min_priority 的权限最底 最高为1;
Norm_priority 为默认权限 等级为5;
13.6 权限等级的测试,代码如下;
package com.eduask.thread.base;
public class ThreadPriorityTest {
public static void main(String[] args) {
/**
*创建最高几线程设置权限为10;
*/
MaxPriority maxPriority=new MaxPriority();
maxPriority.setPriority(10);
maxPriority.start();
/**
* 创建最底线程设置权限为1;
*/
MinPriority minPriority=new MinPriority();
minPriority.setPriority(1);
minPriority.start();
/**
* 创建默认线程设置权限为5;
*/
NormPriority normPriority=new NormPriority();
normPriority.setPriority(5);
normPriority.start();
}
}
class MaxPriority extends Thread{
@Override
public void run() {
for (int i = 0; i <1000; i++) {
System.out.println("MaxPriority"+i+" ");
}
}
}
class MinPriority extends Thread{
@Override
public void run() {
for (int i = 0; i <1000; i++) {
System.out.println("MinPriority"+i+" ");
}
}
}
class NormPriority extends Thread{
@Override
public void run() {
for (int i = 0; i <1000; i++) {
System.out.println("NormPriority"+i+" ");
}
}
}
相关文章推荐
- C#实现进程管理的启动和停止实例
- DOS中判断进程是否存在的方法
- C#进程监控方法实例分析
- 批处理 结束麦咖啡进程的代码
- PowerShell查看进程的所属用户
- C#实现强制关闭当前程序进程
- C#实现读取被进程占用的文件实现方法
- C#获取进程或线程相关信息的方法
- 简单掌握Windows中C#启动外部程序进程的方法
- 简要对比C语言中三个用于退出进程的函数
- VC实现获取当前正在运行的进程
- sqlserver进程死锁关闭的方法
- win32下进程间通信(共享内存)实例分析
- C语言中操作进程信号的相关函数使用详解
- C语言实现在windows服务中新建进程的方法
- VC下通过系统快照实现进程管理的方法
- C++基于CreateToolhelp32Snapshot获取系统进程实例
- C#实现关闭其他程序窗口或进程代码分享
- C#使用SendMessage实现进程间通信的方法
- C#网络编程基础之进程和线程详解