java学习笔记84--数据共享

俩个或多个线程可以共享对象中的数据
    例如:
        public class ThreadTest extends Thread{
            private Student student;
            public ThreadTest3(String name) {
                super(name);
            }
            public Student getStudent() {
                return student;
            }
            public void setStudent(Student student) {
                this.student = student;
            }

            public void run() {
                String name = Thread.currentThread().getName();
                for(int i=0;i<10;i++){
                    //先把当前线程的名字设置为student的名字
                    student.setName(name);
                    //再马上拿出名字打印出来
                    System.out.println(name+": "+student.getName());
                }
            }
            public static void main(String[] args) {
                Student s = new Student();
                ThreadTest t1 = new ThreadTest("线程1");
                t1.setStudent(s);
                ThreadTest t2 = new ThreadTest("线程2");
                t2.setStudent(s);
                
                t1.start();
                t2.start();
            }
        }

    
    例如:
        Runnable run = new Runnable() {
            private int x;
            public void run() {
                String name = Thread.currentThread().getName();
                for(int i=1;i<=500;i++){
                    x++;
                }
                System.out.println(name+" x = "+x);
            }
        };
        Thread t1 = new Thread(run);
        Thread t2 = new Thread(run);
        t1.start();
        t2.start();

猜你喜欢

转载自blog.csdn.net/onepiece_loves/article/details/88774813