架构师之路--线程
2017-04-10 20:31
218 查看
线程安全概念:当多个线程访问同一个类时,这个类始终能保持正确的行为,那么这个类(对象或方法)就是线程安全的。
synchronized:可以在任意对象或方法上加锁,加锁的这段代码被称为“互斥区”或“临界区”。
package com.daniu56.thread;
@SuppressWarnings("unused")
public class Thread01 extends Thread{
priva
4000
te int count = 0;
public void run(){
count++;
System.out.println(this.currentThread().getName() +"===="+ count);
}
public static void main(String[] args) {
Thread01 myThread = new Thread01();
Thread thread01=new Thread(myThread,"t1");
Thread thread02=new Thread(myThread,"t2");
Thread thread03=new Thread(myThread,"t3");
Thread thread04=new Thread(myThread,"t4");
Thread thread05=new Thread(myThread,"t5");
thread01.start();
thread02.start();
thread03.start();
thread04.start();
thread05.start();
}
}
没有加“synchronized”之前,运行结果如下
t1====1
t2====3
t3====3
t4====3
t5====5
加入之后
变为
t1====1
t2====2
t3====3
t4====4
t5====5
synchronized:可以在任意对象或方法上加锁,加锁的这段代码被称为“互斥区”或“临界区”。
package com.daniu56.thread;
@SuppressWarnings("unused")
public class Thread01 extends Thread{
priva
4000
te int count = 0;
public void run(){
count++;
System.out.println(this.currentThread().getName() +"===="+ count);
}
public static void main(String[] args) {
Thread01 myThread = new Thread01();
Thread thread01=new Thread(myThread,"t1");
Thread thread02=new Thread(myThread,"t2");
Thread thread03=new Thread(myThread,"t3");
Thread thread04=new Thread(myThread,"t4");
Thread thread05=new Thread(myThread,"t5");
thread01.start();
thread02.start();
thread03.start();
thread04.start();
thread05.start();
}
}
没有加“synchronized”之前,运行结果如下
t1====1
t2====3
t3====3
t4====3
t5====5
加入之后
变为
t1====1
t2====2
t3====3
t4====4
t5====5
相关文章推荐
- 架构师之路--线程基础--多个线程多把锁
- 架构师成长之路
- 架构师学习之路2框架分析之jfinal2.0——1
- 阿里资深架构师的学习之路
- 支付宝架构师:从工程师到架构师的成长之路
- 软件架构师成长之路
- pdf分享-架构师之路--大型网站技术架构与解决方案
- 架构师之路----文章汇总
- 测试专家讲述通往测试架构师之路
- ThreadPoolExecutor运转机制详解 - 走向架构师之路 - 博客频道 - CSDN.NET
- [架构师之路]10w定时任务,如何高效触发超时 2017-03-09
- [置顶] 计数系统架构实践一次搞定 | 架构师之路
- Web架构师成长之路
- 阿里资深架构师的学习之路
- 【架构师之路】 LVS+Keepalived实现高可用负载均衡
- 架构师之路---架构师的职责
- 架构师之路16年精选50篇
- (转载)解密微软的架构师之路,作者: wuzhimin
- AdaultBird--我的黑马程序员之路!Chapter3---多线程同步,同步唤醒和等待,守护线程,String类,基本数据类型包装类,集合框架中的List和Set
- 开启运维自动化架构师成长之路