码迷,mamicode.com
首页 > 编程语言 > 详细

线程同步

时间:2016-08-14 19:15:49      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

同步 就像食堂排队取餐一样,前面一个人取完餐 后面的人才可以继续取餐 ,线程同步和异步与字面意思正好相反 同步就是有先后顺序  一段代码执行后才会执行另一端代码,而线程异步则是 多个代码块同时执行 没有顺序之分

 

//继承Thread
public class MyHread1 extends Thread {
public Print p1;

@Override
public void run() {
//循环打印print1中的内容
for (int i = 1; i <= 5; i++) {
p1.print1();

}




}


}

 

技术分享
public class MyThread2 implements Runnable{
public Print p1;
    @Override
    public void run() {
          //循环输出print2中的内容
        for (int i = 1; i <= 5; i++) {
            p1.print2();
            
        }
    }

}
技术分享

定义两个类  一个继承Thread 另一个实现Runable  循环输出内容  分别在void前加上锁synchronized

技术分享
public class Print {


    public synchronized void print1(){
        
        System.out.print("我");
        System.out.print("是");
        
        System.out.println();
    }
    
    public synchronized void print2(){
        
        System.out.print("好");
        System.out.print("人");
        System.out.println();
        
    }

}
技术分享

定义一个print类  类中有两个方法 分别输出内容  并且内容之间不换行  直至全部结束再换行

技术分享
public class Test {
    
    public static void main(String[] args) {
        MyHread1 mh=new MyHread1();
        Print p=new Print();
        mh.p1=p;
        
        mh.start();
        
        
        MyThread2 mh2=new MyThread2();
        
        mh2.p1=p;
        Thread th=new Thread(mh2);
        
        th.start();
        
    }

}


技术分享

运行结果如下:

技术分享

线程同步

标签:

原文地址:http://www.cnblogs.com/superws/p/5770604.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!