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

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

10年积累的成都网站建设、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站策划后付款的网站建设流程,更有南岸免费网站建设让你可以放心的选择与我们合作。

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线程函数的详细介绍。

名称栏目:Java线程函数关键代码详细讲述
URL地址:http://www.mswzjz.cn/qtweb/news15/260415.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能