昨天的面试题(天元网络)
两个问题:
1、线程同步--synchronized
2、线程之间如何共享同一个j变量--内部类
- package test;
- /**
- * 加一线程与减一线程共同操作一个数
- * 两个问题:
- * 1、线程同步--synchronized
- * 2、线程之间如何共享同一个j变量--内部类
- * @author liuwei
- */
- public class TMain {
- int j=1;
- public synchronized void inc(){
- j++;
- System.out.println(Thread.currentThread().getName()+"-inc:"+j);
- }
- class T1 implements Runnable{
- public void run(){
- inc();
- }
- }
- public synchronized void dec(){
- j--;
- System.out.println(Thread.currentThread().getName()+"-dec:"+j);
- }
- class T11 implements Runnable{
- public void run(){
- dec();
- }
- }
- public static void main(String[] args) {
- TMain t = new TMain();
- T1 t1 =t.new T1();
- T11 t11 =t.new T11();
- for(int i=0;i<20;i++){
- Thread thread=new Thread(t1);
- thread.start();
- Thread thread1=new Thread(t11);
- thread1.start();
- }
- }
- }