阅读须知:该篇大部分为代码建议读者自己尝试下
这些方法大部分是笔者从网上搜到的解决方法,笔者对这些解决方法逐一解析
题目:如何保证线程的(循环)顺序执荇
1.先不说线程循环执行的问题首先考虑的是线程顺序执行的问题
* 一个基础的方法实现多个线程顺序执行
下面是一种我认为有点问题的做法:
* 一个我认为不正确的实现方式 * 是因为该实现是一个线程来实现的,使用的是线程池中的Thread,而不是这几个线程依次循环 //该方式其实是单线程的原因可以看日志, //找到这个线程的实现方式
从网上搜到的一种比较优秀的写法
* 该方法的问题:该方法十分巧妙的通过线程名的方式來控制数字的递增但是也存在一些问题 * 导致空循环,用方法跑了一下这三个线程大约会空循环30多万次,会造成比较严重的资源浪费 //这裏使用synchronized 关键字 其他线程同样在做等待 //还需要再这里也加上count的判断,是因为若是不加则可能出现count为101的情况 //(当一个线程运行到这里,又囿一个线程运行到while那里会出现该情况)
目前先分析到这里,下一篇考虑下线程池的问题
发布了1 篇原创文章 · 获赞 0 · 访问量 945