Java线程函数关键代码详细讲述

开发 后端
Java线程函数需要我们不断的学习,在学习的时候我们要注意很多关键代码。下面我们就详细的看看如何才能更好的掌握这个语言。

Java线程函数在使用的时候需要大家详细的看看相关代码。本文就向大家介绍有关Java线程函数在使用中的问题。希望大家有所收获。那么首先我们来看看yield ()的使用方法。

1) 通过yield ()Java线程函数,可使线程进入可执行状态,排程器从可执行状态的线程中重新进行排程。所以调用了yield()的Java线程函数也有可能马上被执行。

2) 当调用yield ()Java线程函数后,线程不会释放它的“锁标志”。

 

  1. class TestThreadMethod extends Thread{  
  2. public static int shareVar = 0;  
  3. public TestThreadMethod(String name){super(name);  
  4. }  
  5. public synchronized void run(){for(int i=0; i<4; i++){  
  6. System.out.print(Thread.currentThread().getName());  
  7. System.out.println(" : " + i);  
  8. Thread.yield();  
  9. }}  
  10. }  
  11. public class TestThread{public static void main(String[] args){  
  12. TestThreadMethod t1 = new TestThreadMethod("t1");  
  13. TestThreadMethod t2 = new TestThreadMethod("t2");  
  14. t1.start();  
  15. t1.start(); //(1)  
  16. //t2.start(); (2)  
  17. }  

 

运行结果为:

 

  1. t1 : 0  
  2. t1 : 1  
  3. t1 : 2  
  4. t1 : 3  
  5. t1 : 0  
  6. t1 : 1  
  7. t1 : 2  
  8. t1 : 3 

 

从结果可知调用yield()时并不会释放对象的“锁标志”。

如果把代码(1)注释掉,并去掉代码(2)的注释,结果为:

  1. t1 : 0  
  2. t1 : 1  
  3. t2 : 0  
  4. t1 : 2  
  5. t2 : 1  
  6. t1 : 3  
  7. t2 : 2  
  8. t2 : 3 

从结果可知,虽然t1线程调用了yield(),但它马上又被执行了。以上就是对Java线程函数的详细介绍。

【编辑推荐】

  1. Java多线程优化之偏向锁原理分析
  2. Java多线程同步机制的深入探讨
  3. Java多线程同步如何从JVM的角度体会
  4. Java多线程如何创建多个线程
  5. Java多线程如何解决关键字封锁问题
责任编辑:张浩 来源: CSDN
相关推荐

2010-03-19 10:31:06

Java Socket

2009-09-25 15:03:21

Hibernate绑定

2010-03-17 10:53:39

java doc线程

2010-03-18 15:47:07

Java创建线程

2010-03-17 09:33:30

Java多线程方案

2009-10-19 17:51:26

2009-10-10 16:44:52

VB.NET开发控件

2010-03-05 09:24:54

Linux ntfs分

2009-10-13 17:03:55

VB.NET面向对象

2009-11-02 15:45:03

VB.NET IEnu

2009-09-27 11:14:09

C#数组

2010-03-09 13:23:51

Linux用户组管理方

2009-10-21 10:45:50

VB.NET Quic

2012-04-13 14:44:00

梁念坚

2011-07-22 14:55:20

多线程

2010-09-14 17:20:30

2009-06-09 10:37:09

2009-12-30 10:19:42

2010-03-17 15:45:06

Java多线程求和

2010-03-17 14:22:40

Java Socket
点赞
收藏

51CTO技术栈公众号