java 多线程:开两个线程,一个线程跑同步代码块,一个线程跑同步函数
2012-09-06 17:10
519 查看
代码如下:
package com.chnsys.thread1; public class JavaResearch01 { public static void main(String[] args) { Ticket t = new Ticket(); Thread t1 = new Thread(t); Thread t2 = new Thread(t); /*Thread t3 = new Thread(t); Thread t4 = new Thread(t);*/ t1.start(); try { Thread.currentThread().sleep(10); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } t.flag = false; t2.start(); /*t3.start(); t4.start();*/ } } class Ticket implements Runnable{ private int tick = 100; Object obj = new Object(); boolean flag = true; @Override public void run() { // TODO Auto-generated method stub if(flag){ while(true){ //同步代码块 synchronized (this) { if(tick>0){ try { Thread.sleep(100); } catch (Exception e) { // TODO: handle exception } System.out.println(Thread.currentThread().getName()+".....code : "+tick--); } } } } //show()函数 while(true){ show(); } } public synchronized void show(){ if(tick>0){ try { Thread.sleep(100); } catch (Exception e){ //TODO: handle exception } System.out.println(Thread.currentThread().getName()+"....show : "+tick--); } } }
相关文章推荐
- Java多线程线程、同步代码块、同步函数、死锁
- Java多线程-线程的同步(同步代码块)
- Java线程:线程的同步与锁 一、同步问题提出 线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。 例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对
- 【Java面试题】26 多线程有几种实现方法?同步有几种实现方法? 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
- JAVA之旅(十四)——静态同步函数的锁是class对象,多线程的单例设计模式,死锁,线程中的通讯以及通讯所带来的安全隐患,等待唤醒机制
- 面试必问!Java 多线程中两个线程交替执行,一个输出偶数,一个输出奇数
- JAVA——多线程编程之同步:同步代码块与同步函数(二)
- JAVA之旅(十四)——静态同步函数的锁是class对象,多线程的单例设计模式,死锁,线程中的通讯以及通讯所带来的安全隐患,等待唤醒机制
- Java多线程之~~~使用CountDownLatch来同步多个线程实现一个任务
- Java多线程-线程的同步(同步代码块)
- Java笔记3 多线程<1>线程概述、多线程的创建、多线程的安全问题、静态同步函数的锁、死锁
- Java 多线程中。两个线程交替执行,一个输出偶数,一个输出奇数(方法一)
- Java 多线程中。两个线程交替执行,一个输出偶数,一个输出奇数
- Java多线程-线程的同步(同步代码块)
- Java多线程-线程的同步(同步代码块)
- Java 多线程中。两个线程交替执行,一个输出偶数,一个输出奇数(方法二)
- 04.多线程--06.【同步方式在线程两种创建方式中的可行性】【同步代码块和同步函数的关系】【多线程程序设计思路总结】
- JAVA多线程之两个线程同时写一个文件
- 黑马程序员_Java基础[26]_线程2、同步代码块、同步函数
- Java知识点整理:第十四章:java多线程编程、创建一个线程、异步与同步、java反射、类加载