#大学#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){…代码…}

本文转自 Ron Ngai 博客园博客,原文链接: http://www.cnblogs.com/rond/archive/2010/12/28/1918778.html  ,如需转载请自行联系原作者

 


相关文章
|
1天前
|
Java
【Java多线程】面试常考 —— JUC(java.util.concurrent) 的常见类
【Java多线程】面试常考 —— JUC(java.util.concurrent) 的常见类
9 0
|
1天前
|
设计模式 消息中间件 安全
【Java多线程】关于多线程的一些案例 —— 单例模式中的饿汉模式和懒汉模式以及阻塞队列
【Java多线程】关于多线程的一些案例 —— 单例模式中的饿汉模式和懒汉模式以及阻塞队列
8 0
|
1天前
|
安全 Java 程序员
【Java多线程】面试常考——锁策略、synchronized的锁升级优化过程以及CAS(Compare and swap)
【Java多线程】面试常考——锁策略、synchronized的锁升级优化过程以及CAS(Compare and swap)
5 0
|
1天前
|
Java 数据库
【Java多线程】对线程池的理解并模拟实现线程池
【Java多线程】对线程池的理解并模拟实现线程池
9 1
|
1天前
|
Java
【Java多线程】分析线程加锁导致的死锁问题以及解决方案
【Java多线程】分析线程加锁导致的死锁问题以及解决方案
9 1
|
2月前
|
安全 Java
深入理解Java并发编程:线程安全与性能优化
【2月更文挑战第22天】在Java并发编程中,线程安全和性能优化是两个重要的主题。本文将深入探讨这两个主题,包括线程安全的基本概念,如何实现线程安全,以及如何在保证线程安全的同时进行性能优化。
16 0
|
4天前
|
安全 Java
Java中的并发编程:理解并发性与线程安全
Java作为一种广泛应用的编程语言,在并发编程方面具有显著的优势和特点。本文将探讨Java中的并发编程概念,重点关注并发性与线程安全,并提供一些实用的技巧和建议,帮助开发人员更好地理解和应用Java中的并发机制。
|
12天前
|
缓存 安全 Java
Java并发编程中的线程安全问题及解决方法
在Java编程中,线程安全是一个至关重要的问题,特别是在并发编程中。本文将探讨Java并发编程中常见的线程安全问题,包括数据竞争、死锁和内存可见性,并介绍了相应的解决方法,如使用同步锁、并发容器和原子类等技术,以确保多线程环境下程序的正确性和性能。
9 2
|
1月前
|
安全 Java 容器
Java并发编程:实现高效、线程安全的多线程应用
综上所述,Java并发编程需要注意线程安全、可见性、性能等方面的问题。合理使用线程池、同步机制、并发容器等工具,可以实现高效且线程安全的多线程应用。
15 1
|
2月前
|
安全 Java 开发者
Java并发编程中的线程安全性探究
在Java编程中,线程安全性是一个至关重要的问题,涉及到多线程并发访问共享资源时可能出现的数据竞争和不一致性问题。本文将深入探讨Java并发编程中的线程安全性,介绍常见的线程安全性问题以及解决方法,帮助开发者更好地理解和应对在多线程环境下的挑战。