public class SyncBlock {
static class DataWrap {
int i;
}
static class SyncBlockThread extends Thread {
private DataWrap date;
public SyncBlockThread(DataWrap dataWrap) {
this.date = dataWrap;
}
@Override
public void run() {
for (int i = 0; i < 10; i++) {
synchronized (date) {
date.i++;
try {
sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(getName() + " " + date.i);
}
}
}
}
public static void main(String[] args) {
//多线程实现变量i依次加一输出
DataWrap dataWrap = new DataWrap();
new SyncBlockThread(dataWrap).start();
new SyncBlockThread(dataWrap).start();
new SyncBlockThread(dataWrap).start();
}
}
public class SyncMethod {
static class DataWrap{
int i;
public synchronized void valueGrow(){
i++;
try {
Thread.sleep(1);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName() + " " + i);
}
}
static class SyncMethodThread extends Thread {
DataWrap dataWrap;
public SyncMethodThread(DataWrap dataWrap){
this.dataWrap = dataWrap;
}
@Override
public void run() {
for (int i = 0; i < 10; i++) {
dataWrap.valueGrow();
}
}
}
public static void main(String[] args) {
//实现顺序增长并输出Datawrap中的i
DataWrap dataWrap = new DataWrap();
new SyncMethodThread(dataWrap).start();
new SyncMethodThread(dataWrap).start();
new SyncMethodThread(dataWrap).start();
}
}
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
public class SyncLock {
static class DataWrap{
Lock lock = new ReentrantLock();
int i;
public void valueGrow(){
lock.lock();
try {
i++;
try {
Thread.sleep(1);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName() + " " + i);
} finally {
lock.unlock();
}
}
}
static class SyncLockThread extends Thread {
DataWrap dataWrap;
public SyncLockThread(DataWrap dataWrap){
this.dataWrap = dataWrap;
}
@Override
public void run() {
for (int i = 0; i < 10; i++) {
dataWrap.valueGrow();
}
}
}
public static void main(String[] args) {
//实现顺序增长并输出Datawrap中的i
DataWrap dataWrap = new DataWrap();
new SyncLockThread(dataWrap).start();
new SyncLockThread(dataWrap).start();
new SyncLockThread(dataWrap).start();
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有