zoukankan      html  css  js  c++  java
  • #大学#Java多线程学习02(线程同步)

    *所谓同步机制是指两个线程同时操作一个对象,应该保持对象数据的统一性和整体性。

    *Java语言中有两种同步形式,即同步方法和同步代码块。

    1,同步方法

    同步方法将访问这个资源的方法都标记为synchronized,这样在需要调用这个方法的线程执行完之前,其它调用该方法的线程都会被阻塞。

    synchronized void sum(){…}

    synchronized void max(){…}

    *创建两个线程的例子

    import java.util.logging.Level;
    import java.util.logging.Logger;

    public class SyncThread extends Thread {
        private char cha;
        public SyncThread(char cha){
            this.cha=cha;
        }
        public void run(){
            PrintClass.printch(cha);
            System.out.println();
        }
        public static void main(String[] args){
            SyncThread t1=new SyncThread('A');
            SyncThread t2=new SyncThread('B');
            t1.start();
            t2.start();
        }
    }
    class PrintClass{
        public static void printch(char cha){
            for(int i=0;i<5;i++){
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException ex) {
                    Logger.getLogger(PrintClass.class.getName()).log(Level.SEVERE, null, ex);
                }
                System.out.print(cha);
            }
        }
    }

    *同步块

    Java语言中同步的设定不只应用于同步方法,也可以设置程序的某个代码段为同步区域。

    语法格式为:

    synchronized(someobject){…代码…}

     

  • 相关阅读:
    vue Bus事件用法与bug
    移动端超出三行显示第三行显示省略号+查看全部
    Vuex
    vue点击旋转,再点击复原
    vue项目(cli-3)替换浏览器logo
    悬浮广告(二)vue版本
    悬浮广告(一)html版本
    vue下获得经纬度省市区
    一个可以输出当前移动设备机型(安卓,ios)系统版本的html页面
    谱聚类(spectral clustering)原理总结
  • 原文地址:https://www.cnblogs.com/rond/p/1918778.html
Copyright © 2011-2022 走看看