随笔分类 - java多线程
摘要:创建大小不固定线程池 创建固定线程池 创建单例线程池 创建定时线程池
阅读全文
摘要:ThreadLocal:是线程的本地变量,也叫本地存储。ThreadLocal为变量在每个线程中创建了一个副本,那么每个线程可以访问自己内容的副本变量 ThreadLocal应用场景: 比如 这是一个数据库连接管理类,当多个线程同时调用的时候就会出现线程安全问题。 避免线程安全问题: 可以在方法前加
阅读全文
摘要:synchronized:同步锁,是java内置的关键字。当一个线程A执行到被synchronized修饰的方法时,其他线程B如果也要执行这个方法,那么B只能等A执行完方法释放锁后才能获取资源锁执行synchronized方法块。 synchronized释放锁的情况 1,执行完改代码块,释放锁 2
阅读全文
摘要:转自:http://www.cnblogs.com/skywang12345/p/3479275.html jion(),只有当子线程执行完了,主线程才会执行 1. join()介绍 join() 定义在Thread.java中。join() 的作用:让“主线程”等待“子线程”结束之后才能继续运行。
阅读全文
摘要:yiled():让步 wait():等待 sleep():休眠 yiled是让步,会使当前线程由运行状态进入到就绪状态,让其他优先级高线程先执行,但是如果是同一优先级的线程,那么谁先执行就不确定了.它不会释放锁 wailt等待,会使当前线程进入阻塞状态,并且会释放锁 sleep()休眠,会使当前线程
阅读全文
摘要:转自:http://www.cnblogs.com/skywang12345/p/3479202.html 当一个线程访问某对象的synchronized方法时,其他线程访问这个方法将会被阻塞
阅读全文
摘要:转自:http://www.cnblogs.com/skywang12345/p/3479083.html start():作用一个新的线程,新线程会执行相应的run()方法,start()不能被重复调用 run():run()就是一个普通的方法,可以被重复调用,会在当前线程中执行,并不会新起一个线
阅读全文
摘要:线程有两种实现方式 一,Thread类 public class Thread implements Runnable{ } 二,Runnable接口 public interface Runnable{ public abstract void run(); } 区别:Thread是一个类,他继承
阅读全文
摘要:上面是调用线程的状态图 新建状态(new):线程被创建后就会进入新建状态,如 Thread t = new Thread() 就绪状态(runnable):也叫可执行状态,当线程调用了start()方法后启动该线程,而改线程随时可能被cpu调度执行 运行状态(running):线程获取到cpu进行执
阅读全文
浙公网安备 33010602011771号