/*
多个线层同时操作一个数据
会导制数据超出
同步代码块
synchronized(对像)
{
需要同步的代码
}
*/ class Do7
{
public static void main(String[] args)
{
Piao p1=new Piao();
Thread t1=new Thread(p1);
Thread t2=new Thread(p1);
Thread t3=new Thread(p1);
Thread t4=new Thread(p1);
t1.start();t2.start();t3.start();t4.start();
}
} class Piao implements Runnable
{
private static int num=200; public void run()
{ while(true)
{
// Object obj=new Object();//随便创建一个对象,用于synchronized(对像)
// synchronized(this)中可以放this,也可以放synchronized(obj)
synchronized(this)///同步代码块
{
if (num>0)
{
try{Thread.sleep(10);}catch(Exception e){}
System.out.println(Thread.currentThread().getName()+"....."+num--);
}
else{
return;}
}
}
}
}

第二种方式

/*
多个线层同时操作一个数据
会导制数据超出
同步代码块
synchronized(对像)
{
需要同步的代码
}
*/ class Do7
{
public static void main(String[] args)
{
Piao p1=new Piao();
Thread t1=new Thread(p1);
Thread t2=new Thread(p1);
Thread t3=new Thread(p1);
Thread t4=new Thread(p1);
t1.start();t2.start();t3.start();t4.start();
}
} class Piao implements Runnable
{
private int num=100;
public void run()
{
while(true)
{
show();
}
}
public synchronized void show()
{ if (num>0)
{
try{Thread.sleep(10);}catch(Exception e){}
System.out.println(Thread.currentThread().getName()+"....."+num--);
}
else{
return;
} } }

java多线层同时运行的解决,同步代码块synchronized的更多相关文章

  1. 编程开发之--java多线程学习总结(2)同步代码块

    1.第一种解决办法:同步代码块,关键字synchronized package com.lfy.ThreadsSynchronize; /** * 1.使用同步代码块 * 语法: synchroniz ...

  2. java学习笔记 --- 多线程(线程安全问题——同步代码块)

    1.导致出现安全问题的原因: A:是否是多线程环境 B:是否有共享数据 C:是否有多条语句操作共享数据 2.解决线程安全问题方法: 同步代码块: synchronized(对象){ 需要同步的代码; ...

  3. 牛客网Java刷题知识点之同步方法和同步代码块的区别(用synchronized关键字修饰)

    不多说,直接上干货! 扩展博客 牛客网Java刷题知识点之多线程同步的实现方法有哪些 为何要使用同步?      java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查 ...

  4. 36. 解决线程问题方式一(同步代码块synchronized)

    解决线程问题: 方式一:同步代码块(synchronized) 语法: synchronized ("锁对象") {             //需要锁定的代码       }   ...

  5. java 多线程:线程通信-等待通知机制wait和notify方法;(同步代码块synchronized和while循环相互嵌套的差异);管道通信:PipedInputStream;PipedOutputStream;PipedWriter; PipedReader

    1.等待通知机制: 等待通知机制的原理和厨师与服务员的关系很相似: 1,厨师做完一道菜的时间不确定,所以厨师将菜品放到"菜品传递台"上的时间不确定 2,服务员什么时候可以取到菜,必 ...

  6. 彻底理解线程同步与同步代码块synchronized

    public class Demo { public static synchronized void fun1(){ } public synchronized void fun2(){ } pub ...

  7. Java 同步代码块 - Synchronized Blocks

    java锁实现原理: http://blog.csdn.net/endlu/article/details/51249156 The synchronized keyword can be used ...

  8. Java基础面试操作题:线程同步代码块 两个客户往一个银行存钱,每人存三十次一次存一百。 模拟银行存钱功能,时时银行现金数。

    package com.swift; public class Bank_Customer_Test { public static void main(String[] args) { /* * 两 ...

  9. JAVA之旅(十三)——线程的安全性,synchronized关键字,多线程同步代码块,同步函数,同步函数的锁是this

    JAVA之旅(十三)--线程的安全性,synchronized关键字,多线程同步代码块,同步函数,同步函数的锁是this 我们继续上个篇幅接着讲线程的知识点 一.线程的安全性 当我们开启四个窗口(线程 ...

随机推荐

  1. codevs 3094 寻找sb4

    3094 寻找sb4  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description sb有一天和sml吵架了,她 ...

  2. MSP430 中断优先级

    MSP430的中断优先级.打开关闭.中断嵌套 优先级顺序从高到低为:    PORT2_VECTOR (1 * 2u) /* 0xFFE2 Port 2 */    PORT1_VECTOR (4 * ...

  3. 游览器保存密码和自动填充密码的困惑 (browser save password and auto fill password )

    原文 refer : http://www.cnblogs.com/happyfreelife/p/4240100.html 当一个带有username and password 的表单被提交, 游览 ...

  4. Android项目的图标

    项目的图标就是在AndroidManifest.xml中通过android:icon="@drawable/ic_launcher"来指定的,ic_launcher这张图片可以放在 ...

  5. RAW碰到的问题与功能的测试

    碰到的问题太多: 1. 没人告诉我,应该在CreateFile之前,先InstallDriver2. 签名死活不行(好像是反斜杠问题)3. 注册码错误4. 怀疑ANSI与Unicode注册码的问题5. ...

  6. 无法关闭的QT程序(覆盖closeEvent,新建QProcess并脱离关系)

    做一个无法关闭的QT程序(想关闭时要在任务管理器里关闭),看似很难, 其实它并不难,只要让程序在关闭时启动它自身就可以了. 上代码: #include <QtGui> class Temp ...

  7. linux开源论坛

    开源资源: 开源http://oss.org.cn/?action-news http://www.lupaworld.com/proj.php http://www.10pig.cn/linux/o ...

  8. op编译信赖的库

    Table of known prerequisites and their corresponding packages Here's a table with the package name f ...

  9. DP #1 Singleton Pattern线程安全问题

    单例模式确保一个类只有一个实例,自行提供这个实例并向整个系统提供这个实例. 其中涉及到最主要的问题就是在多线程并发时线程安全问题. 单例模式的实现也有一个循序渐进的过程:1.最基本要求:每次从getI ...

  10. 如何右键新建HTML

    直接转载的,原文作者写的很详细:http://blog.csdn.net/ruanjiayou/article/details/51284864 14年在qq日志里写过 2014-10-25  htt ...