`

151多线程(优先级&yield方法)

阅读更多
/*
养成习惯:数据共享用静态
*/
class Demo implements Runnable{
	public void run(){
		for(int x = 0;x < 70;x++){
			System.out.println(Thread.currentThread().toString()
			+"...."+x);
		}
	}
}
class JoinDemo{
	public static void main(String[] args)throws Exception{
		Demo d = new Demo();
		Thread t1 = new Thread(d);
		Thread t2 = new Thread(d);
		
		t1.start();
		
		t1.setPriority(Thread.MAX_PRIORITY);
		
		t2.start();
		t1.join();
		
		for(int x=0;x<80;x++){
			System.out.println("main.."+x);
		}
		System.out.println("over");
	}
}


/*
养成习惯:数据共享用静态
*/
class Demo implements Runnable{
	public void run(){
		for(int x = 0;x < 70;x++){
			System.out.println(Thread.currentThread().toString()
			+"...."+x);
			Thread.yield();
		}
	}
}
class JoinDemo{
	public static void main(String[] args)throws Exception{
		Demo d = new Demo();
		Thread t1 = new Thread(d);
		Thread t2 = new Thread(d);
		
		t1.start();
		
		//t1.setPriority(Thread.MAX_PRIORITY);
		
		t2.start();
		t1.join();
		
		for(int x=0;x<80;x++){
			System.out.println("main.."+x);
		}
		System.out.println("over");
	}
}


class ThreadTest{
	public static void main(String[] args){
		new Thread(){
			public void run(){
				for(int x=0;x<100;x++){
					System.out.println(Thread.currentThread().getName()
					+"..."+x);
				}
			}
		}.start();
		
		for(int x=0;x<100;x++){
			System.out.println(Thread.currentThread().getName()
			+"..."+x);
		}
		
		Runnable r = new Runnable(){
			public void run(){
				for(int x=0;x<100;x++){
					System.out.println(Thread.currentThread().getName()
					+"..."+x);
				}
			}
		}
		new Thread(r).start();
	}
}
分享到:
评论

相关推荐

    线程的基本概念、线程类、任务类、线程优先级、sleep()方法、yield()方法、join方法、interrupt()方法

    线程的基本概念、线程类、任务类、线程优先级、sleep()方法(休眠)、yield()方法(礼让)、join方法(合并)、interrupt()方法(中断),线程的生命周期 线程 与 进程 的关系:**有一个进程中至少包含一个线程 **...

    Java多线程-Thread类的常用结构及线程优先级

    理解并熟练掌握Thread类的构造器和方法,以及线程优先级的概念,对于编写高效、稳定的多线程程序至关重要。在实际开发中,应避免使用已过时的方法,合理利用线程调度机制,确保线程安全,提高程序性能。同时,对守护...

    JAVA100例之实例67JAVA线程优先级

    7. **Java线程API**:了解如何使用`Thread`类的方法如`start()`, `join()`, `sleep()`, `yield()`, 和 `interrupt()`来控制线程的行为和交互,这些都是多线程编程的基础。 8. **线程池**:线程池是一种高效的线程...

    浅谈java多线程 join方法以及优先级方法

    线程优先级可以通过`setPriority()`方法来设置,如`t1.setPriority(Thread.MAX_PRIORITY)`。 在上述代码的`Demo`类中,实现了`Runnable`接口,并重写了`run()`方法。`run()`方法是线程执行的主要逻辑,这里包含了一...

    java 线程让步(Yield)

    Java线程让步(Yield)是Java多线程编程中的一个重要概念,它涉及到线程调度和并发控制。在多线程环境下,线程让步意味着一个正在运行的线程主动放弃当前的时间片,以便其他就绪状态的线程有机会执行。这与线程的...

    Java多线程编程之限制优先级

    Java多线程编程中的线程优先级是一种机制,允许开发者为不同线程分配不同程度的执行紧急程度。在Java中,线程优先级范围是从1(Thread.MIN_PRIORITY)到10(Thread.MAX_PRIORITY),其中10表示最高优先级,1表示最低...

    Java 多线程优先级实例详解

    线程优先级是Java多线程中的一个重要概念,它允许我们为线程指定一个优先级,以期望调度器能够根据优先级来决定哪个线程应该优先执行。然而,需要注意的是,Java的线程优先级并不保证绝对的执行顺序,而只是提供了一...

    java多线程Demo

    Java多线程是Java编程中的一个重要概念,它允许程序同时执行多个任务,提高了程序的效率和响应速度。在Java中,实现多线程有两种主要方式:继承Thread类和实现Runnable接口。 1. 继承Thread类: 当我们创建一个新...

    内核线程优先级设置的方法介绍

    内核线程优先级设置是操作系统管理多任务执行的关键部分,特别是在需要确保某些任务优先执行的实时系统中。内核线程与用户空间的POSIX线程不同,它们直接由操作系统内核管理,不受用户进程的限制。在Linux系统中,...

    pb多线程实现的例程

    在编程领域,多线程是一种常见且重要的技术,它允许程序同时执行多个任务,从而提高系统资源利用率和程序性能。本例程“pb多线程实现”旨在展示如何在编程中利用多线程来实现并发操作。解压密码为"hur.cn",这可能是...

    JAVA多线程(精典总结)

    本文将深入探讨Java多线程的核心概念、创建方式、线程状态转换、线程调度以及线程优先级调整。 首先,理解线程的基本概念至关重要。线程是进程中的一个执行单元,是操作系统调度的基本单位。与进程相比,线程更轻...

    JAVA多线程操作方法实用大全

    本文将深入探讨Java中的多线程操作方法,包括线程控制的基本方法、中断和睡眠以及相关示例。 首先,了解线程的基本状态至关重要。线程在运行过程中可能处于新建、可运行、运行、阻塞或死亡等状态。`isAlive()`方法...

    Java线程中yield与join方法的区别Java开发J

    在Java多线程编程中,理解并正确使用`yield`和`join`方法是至关重要的。这两个方法都属于线程控制策略的一部分,但它们的作用和使用场景有所不同。 首先,我们来详细探讨`Thread.yield()`方法。这个方法的目的是让...

    多线程原理详解

    在Java编程语言中,多线程是实现并发执行任务的关键技术。它允许程序同时执行多个独立的任务,从而提高系统的效率和响应性。本篇将深入探讨多线程的原理及其在Java中的应用。 首先,我们需要理解什么是线程。线程是...

    java 多线程课件

    Java提供了getPriority()和setPriority()方法来获取和设置线程优先级,优先级范围从MIN_PRIORITY(最低)到MAX_PRIORITY(最高),NORM_PRIORITY是默认优先级。不过,Java本身并不保证相同优先级的线程公平地分配CPU...

    多线程】_认识多线程

    在计算机科学中,多线程是一种程序执行方式,允许单个进程内同时执行多个不同的线程,从而提高系统的效率和响应性。本文将深入探讨多线程的概念、创建与使用,以及在实际应用中需要注意的事项。 一、多线程的基本...

    【IT十八掌徐培成】Java基础第08天-01.多线程-yield.zip

    今天我们将深入探讨由IT十八掌徐培成讲解的Java基础课程中的第八天主题——多线程,特别是关于`yield()`方法的知识点。 首先,我们要明白什么是线程。线程是程序执行的最小单位,每个线程都代表程序的一个独立控制...

    Java多线程编程模板

    在Java编程中,多线程是程序设计中的一个重要概念,特别是在服务器端应用和高并发场景下,多线程能够充分利用CPU资源,提高程序的执行效率。本知识点将深入探讨Java多线程编程模板,帮助开发者理解和掌握如何在Java...

    多线程使用操作大全

    本文主要围绕多线程在Java中的使用展开,深入探讨了线程控制的基本方法及其应用场景,并提供了具体的示例代码来帮助理解。主要包括线程的生命状态检查、优先级管理、线程间通信以及一些重要的线程控制函数如`sleep()...

    JAVA(坦克大战,多线程管理).rar

    在Java编程领域,多线程管理是开发高效并发应用程序的关键技术。"JAVA(坦克大战,多线程管理).rar"这个压缩包可能包含了一个基于Java实现的坦克大战游戏,其中涉及了多线程的概念来模拟游戏中的各种动态元素,如...

Global site tag (gtag.js) - Google Analytics