多线程思路总结

Posted yxmfighting

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程思路总结相关的知识,希望对你有一定的参考价值。

一. 多线程优点:

 

二. 多线程基本方法:

1. sleep 停止sleep所在线程若干时间,该动作不释放锁,不影响其它线程运行

2. join 在主线程中启动另外一个线程,主线程必须等待该线程运行结束之后才能继续运行

3. yeild 放弃时间片,使各线程重新竞争

三. 同步,锁

同步不做过多解释,线程共享变量时这是必要的。

首先明确一下锁的生命周期:获取锁,运行代码,释放锁 (注意能造成阻塞的只能是 同一把锁

1 对象的内置锁:

每一个java对象都有一个唯一的锁(和实例11对应),该锁由synchronized关键字实现,线程进入代码块获取锁,出代码立即释放锁。

可以在方法声明中加 synchronized、代码内部加synchronized(synchronized (this){do sth})、

2 锁的重入性:

对于java来讲,阻塞的粒度是线程而不是调用,线程运行的内部不会出现锁的竞争。

3 同步性能优化:

应该把同步代码块中不影响共享变量且执行时间较长的代码独立出去

 

以上是关于多线程思路总结的主要内容,如果未能解决你的问题,请参考以下文章

Java多线程之ThreadLocal总结2

Java多线程-线程池的使用与线程总结(狂神说含代码)

实际项目中Java多线程模型的总结整理

OO第二次总结博客

Python多线程总结

Redis 多线程网络模型全面揭秘