package com.test;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
public class ThreadTest7
{
/**
* @param args
*/
public static void main(String[] args)
{
final Outputer outputer = new Outputer();
for (int i = 0; i < 3; i++)
{
final int temp = i;
new Thread(){
@Override
public void run()
{
if(temp % 2 == 0){
for (int j = 0; j < 20; j++)
{
outputer.output1("abcdefghigklmnopqrstuvwxyz");
}
}else{
for (int j = 0; j < 20; j++)
{
outputer.output1("0123456789");
}
}
}
}.start();
}
}
static class Outputer{
Lock lock = new ReentrantLock();
public void output1(String str){
lock.lock();
try{
for (int i = 0; i < str.length(); i++)
{
System.out.print(str.charAt(i));
}
System.out.println();
}finally{
lock.unlock();
}
}
public void output2(String str){
lock.lock();
try{
for (int i = 0; i < str.length(); i++)
{
System.out.print(str.charAt(i));
}
System.out.println();
}finally{
lock.unlock();
}
}
}
}
并发库锁
最新推荐文章于 2024-04-17 15:41:02 发布