62,616
社区成员
发帖
与我相关
我的任务
分享
package threadlocaltest;
public class Test1 {
public static void main(String[] args) {
Thread[] t = new Thread[3];
for (int i = 0; i < 3; i++) {
t[i] = new Thread() {
public void run() {
for (int i = 0; i < 3; i++) {
System.out.printf("%s, id=%d, count1=%d, times=%s\n",
getName(), SampleThreadLocal.getId(),
SampleThreadLocal.getCount1(), i);
}
}
};
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
t[i].start();
}
}
}
class SampleThreadLocal {
private static int count = 0;
private static int count1 = 0;
private static final ThreadLocal<Integer> id = new ThreadLocal<Integer>() {
protected Integer initialValue() {
return count++;
}
};
public static int getId() {
return id.get();
}
public static synchronized int getCount1() {
return count1++;
}
}
package threadlocaltest;
public class Test1 {
public static void main(String[] args) {
Thread[] t = new Thread[3];
for (int i = 0; i < 3; i++) {
t[i] = new Thread() {
public void run() {
for (int i = 0; i < 3; i++) {
System.out.printf("%s, id=%d, count1=%d, times=%s\n",
getName(), SampleThreadLocal.getId(),
SampleThreadLocal.getCount1(), i);
}
}
};
t[i].start();
}
}
}
class SampleThreadLocal {
private static int count = 0;
private static int count1 = 0;
private static final ThreadLocal<Integer> id = new ThreadLocal<Integer>() {
protected Integer initialValue() {
return count++;
}
};
public static int getId() {
return id.get();
}
public static int getCount1() {
return count1++;
}
}
package threadlocaltest;
public class MyNumber {
private static ThreadLocal<Integer> number = new ThreadLocal<Integer>() {
protected Integer initialValue() {
return 0;
}
};
public Integer getNext() {
number.set(number.get() + 1);
return number.get();
}
public static void main(String[] args) {
MyNumber mynumber = new MyNumber();
MyThread mt1 = new MyThread(mynumber);
MyThread mt2 = new MyThread(mynumber);
mt1.start();
mt2.start();
}
}
class MyThread extends Thread {
private MyNumber my_number;
public MyThread(MyNumber my_number) {
this.my_number = my_number;
}
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println(Thread.currentThread().getName() + "-number:"
+ my_number.getNext());
}
}
}
package threadlocaltest;
public class MyNumber1 {
private static Integer number = 0;
public Integer getNext() {
number++;
return number;
}
public static void main(String[] args) {
MyNumber1 mynumber = new MyNumber1();
MyThread1 mt1 = new MyThread1(mynumber);
MyThread1 mt2 = new MyThread1(mynumber);
mt1.start();
mt2.start();
}
}
class MyThread1 extends Thread {
private MyNumber1 my_number;
public MyThread1(MyNumber1 my_number) {
this.my_number = my_number;
}
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println(Thread.currentThread().getName() + "-number:"
+ my_number.getNext());
}
}
}
public class Test {
public static void main(String[] args) {
Thread[] t = new Thread[3];
for (int i=0; i<3; i++) {
t[i] = new Thread() {
public void run() {
for (int i=0; i<3; i++) {
System.out.printf("%s, id=%d, times=%s\n", getName(), SampleThreadLocal.getId(), i);
}
}
};
t[i].start();
}
}
}
class SampleThreadLocal {
private static int count = 0;
private static final ThreadLocal <Integer> id =
new ThreadLocal <Integer> () {
protected Integer initialValue() {
return count++;
}
};
public static int getId() {
return id.get();
}
}