关于java线程的几个小知识点(后续慢慢提供源码和详解分析)

来源:互联网 发布:透明屏幕软件下载 编辑:程序博客网 时间:2024/06/06 07:30

1.hashMap和hashTable和ConcurrentHashMap区别:hashMap线程不安全,HashTable线程安全,ConcurrentHashMap采用锁分段技术,不同部分有不同锁,能更好的提高效率

2.String,StringBuilder,StringBuffer

效率:StingBuilder>StringBuffer>String

线程安全:StringBuffer线程安全,StringBuilder线程不安全

3.wait,sleep,join,yield

1.wait释放锁,notify,必须是同一个对象

 2.sleep线程沉睡一段时间,不释放锁

 3.join线程阻塞到相应线程完成为止

 4.yield通知其他线程抢占

4.保证线程安全的两者方法

1.sychronize同步代码块

2.ReentratLock加锁,Condition实现线程间的通讯

5.线程的控制

1.循环栅栏CyclicBarrier,2闭锁CountDownLatch

6,Runnable和Callable和Future

Callable有返回值,Runnable没有返回值

Future为线程定制了可管理的任务标准 isCancle,ubDone,get方法,get方法获取结果,如果任务没有完成就会阻塞

7,几种不同的线程池

1.启动制定数量的线程--ThreadPoolExcecutor

2.定时执行一些任务--ScheduledThreadPoolExecutor

8.BlockingQueue阻塞队列线程完全的阻塞队列



后续继续补充


0 0
原创粉丝点击