Thread、Join、Synchromized、Lock
来源:互联网 发布:淘宝网购物女童鞋 编辑:程序博客网 时间:2024/06/08 06:01
这个是ThreadEmergency和ThreadJoin:
public class EmergencyThread implements Runnable{//一定要记得继承Runnable接口public void run(){for(int i=1;i<6;i++){try{Thread.sleep(1000);}catch(Exception e){e.printStackTrace();}System.out.println("紧急情况:"+i+"号车出发!");}}}
public class JoinThread {/** * @param args */public static void main(String[] args) {Thread thread = new Thread(new EmergencyThread());//实例化Thread线程的方法,需要传入参数thread.start();//启动要调用start()方法for(int i = 1;i<6;i++){try {Thread.sleep(1000);} catch (InterruptedException e1) {e1.printStackTrace();}System.out.println("正常情况:"+i+"号车出发!");try {thread.join();//强行加入:join()} catch (InterruptedException e) {e.printStackTrace();}}}}
这个是ThreadLock:
public class DeadLock {/** * @param args */private static final Object o1 = new Object();private static final Object o2 = new Object();private class Run1 implements Runnable{@Overridepublic void run() {// TODO Auto-generated method stubString threadName = Thread.currentThread().getName();synchronized(o1){try {Thread.sleep(1000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.print(threadName+"准备进入O2!");synchronized(o2){System.out.println(threadName+"已经进入了O2!");}}}}private class Run2 implements Runnable{@Overridepublic void run() {// TODO Auto-generated method stubString threadName = Thread.currentThread().getName();synchronized(o2){try {Thread.sleep(1000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println(threadName+"准备进入O1!");synchronized(o1){System.out.println(threadName+"已经进入了O2!");}}}}public static void main(String[] args) {// TODO Auto-generated method stubThread thread1 = new Thread(new DeadLock().new Run1(),"线程-O1-");Thread thread2 = new Thread(new DeadLock().new Run2(),"线程-O2-");thread1.start();thread2.start();}}
- Thread、Join、Synchromized、Lock
- Thread.Join
- Thread Join
- Thread join
- Thread.join()
- thread.join()
- Thread.join
- Thread join
- Thread Join()
- Thread.join()
- thread join
- Thread.join
- ACCESS LOCK WITH JOIN
- Thread.Join()和Thread.Sleep()
- Thread.Join()和Thread.Sleep()
- thread::join和thread::detach
- Linux kernel thread lock
- MySQL-lock table thread
- 形态学图像处理
- 切换到 oracle的 hr用户下面练习
- 为什么C++编译器不支持模板头文件和实现代码分离的编译
- 归纳整理--第2篇--QQ好友
- codeblocks undefined reference to vtable (非QT)
- Thread、Join、Synchromized、Lock
- 用Apache Commons Compress 產生tar.gz
- linux-2.6.32在mini2440开发板上移植(10)之触摸屏工作原理以及驱动程序详细分析
- QThread学习
- SVN服务器的配置
- 关于nodejs发送带参数的post请求调用人人网api
- 专题3-4.#error和#line(国嵌C语言视频)
- 再谈SQLSERVER数据类型
- arm linux boot