第一章 并发编程的挑战

并发编程相对于单线程的挑战有

  • 上下文切换
  • 死锁

1.常用工具

使用Lmbench可以测试上下文切换时长
使用vmstat可以测量上下文切换次数

1.1 上下文切换

常见问题
程序多线程运行一定比单线程块嘛?vm

1.1.3 减少上下文切换方法

-无锁并发编程

  • CAS算法
    -使用协程
    -使用最少线程
>>>jps -mv

>>>jstack -l 18416>/tmp/my/thread_dump.log

>>>grep 'java.lang.Thread.State' thread_dump.log|awk '{print $2$3$4$5}'|sort|uniq -c
  8 RUNNABLE
  2 WAITING(onobjectmonitor)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容