摘要: 多线程同步的时候, 如果同步代码嵌套, 使用相同锁, 就有可能出现死锁 为了避免“死锁”的问题出现,尽量不要使用嵌套 死锁举例: package com.soar.syn; public class Demo5_DeadLock { private static String s1 = "锁A"; 阅读全文
posted @ 2017-09-02 19:54 Soar_Sir 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 一、继承Thread类多线程并发操作同一数据时, 就有可能出现线程安全问题使用同步技术可以解决这种问题, 把操作数据的代码进行同步, 不要多个线程一起操作需求:铁路售票,一共100张票,通过四个窗口卖完.package com.soar.syn;public clas... 阅读全文
posted @ 2017-09-02 19:31 Soar_Sir 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 一、什么情况下需要同步?当多线程并发, 有多段代码同时执行时, 我们希望某一段代码执行的过程中CPU不要切换到其他线程工作. 这时就需要同步.如果两段代码是同步的, 那么同一时间只能执行一段, 在一段代码没执行结束之前, 不会执行另外一段代码.二、同步代码块使用syn... 阅读全文
posted @ 2017-09-02 18:13 Soar_Sir 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 一、休眠线程(Sleep)Thread.sleep(毫秒), 控制当前线程休眠若干毫秒 1秒= 1000毫秒 1秒 = 1000 * 1000 * 1000纳秒 1000000000package com.soar.threadmethod;public class... 阅读全文
posted @ 2017-09-02 17:24 Soar_Sir 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 一、为什么要使用匿名内部类来实现多线程?好处:不需要另找一个类来继承Thread类和实现Runnable接口啦,只需要new Thread()或者new Runnable() 后,重写里面的run()方法就可以了。package com.soar.thread;pub... 阅读全文
posted @ 2017-09-02 13:22 Soar_Sir 阅读(397) 评论(0) 推荐(0) 编辑
摘要: 一、继承Thread类定义类继承Thread重写run方法把新线程要做的事写在run方法中创建线程对象开启新线程, 内部会自动执行run方法package com.soar.thread;public class Demo2_Thread { public st... 阅读全文
posted @ 2017-09-02 10:32 Soar_Sir 阅读(196) 评论(1) 推荐(0) 编辑
摘要: 一、什么是多线程线程是程序执行的一条路径, 一个进程中可以包含多条线程 多线程并发执行可以提高程序的效率, 可以同时完成多项工作二、多线程的应用场景迅雷开启多条线程一起下载QQ同时和多个人一起视频服务器同时处理多个客户端请求三、多线程并行和并发的区别并行:是两个任务同... 阅读全文
posted @ 2017-09-02 09:50 Soar_Sir 阅读(3017) 评论(0) 推荐(0) 编辑