快速业务通道

Java线程:线程私有变量 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16

Java线程:线程私有变量

时间:2011-07-25 51cto博客 熔岩

线程对象也是从一个(线程)类而构建的,线程类作为一个类也可以拥有自己的私有成员。这个成员 为此线程对象私有,有时候使用线程私有变量,会巧妙避免一些并发安全的问题,提高程序的灵活性和编 码的复杂度。

下面举例来说吧,统计一个线程类创建过多少个线程,并为每个线程进行编号。

package com.lavasoft.test; /** * 为线程添加编号,并确所创建过线程的数目 * * @author leizhimin 2010-1-4 14:15:31 */ public class ThreadVarTest {          public static void main(String[] args) {                  Thread t1 = new MyThread();                  Thread t2 = new MyThread();                  Thread t3 = new MyThread();                  Thread t4 = new MyThread();                  t1.start();                  t2.start();                  t3.start();                  t4.start();          } } class MyThread extends Thread {          private static int sn = 0;    //线程数          private int x = 0;                    //线程编号          MyThread() {                  x = sn++;          }          @Override          public void run() {                  Thread t = Thread.currentThread();                  System.out.println(t.getName() + "\t" + x);          } }

运行结果:

Thread-0  0 Thread-1  1 Thread-2  2 Thread-3  3 Process finished with exit code 0

这个程序是很多公司面试题,这是一种求解方式,应该是最简单的求解方式。还有用ThreadLocal实现 的版本,还有其他的,都没有这个代码简洁。

出处:http://lavasoft.blog.51cto.com/62575/258380

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号