java多线程中线程每次最少执行一行代码吗?

线程的执行单位是什么,是每次最少执行一行吗,那例如这种if语句,分行写的话,线程有肯能在执行完一行跳转到另一个线程吗还是怎么样的?if(thread1.getState(... 线程的执行单位是什么,是每次最少执行一行吗,那例如这种if语句,分行写的话,线程有肯能在执行完一行跳转到另一个线程吗还是怎么样的?
if(thread1.getState().toString().equals("WAITING")
&&thread2.getState().toString().equals("WAITING")
&&thread3.getState().toString().equals("WAITING")){
flag=false;
}
即不是判断完if(..&&..&&..)后面的小括号里的内容就可能跳转?if后的小括号不是一个整体吗
展开
 我来答
砍出平成第一斧58
2014-08-23 · TA获得超过1567个赞
知道大有可为答主
回答量:2321
采纳率:86%
帮助的人:1214万
展开全部
多个线程之间是抢占CPU的,所以线程是非常有可能执行完一行就跳转到另一个线程的。
追问
即不是判断完if(..&&..&&..)后面的小括号里的内容就可能跳转?if后的小括号不是一个整体吗
追答
thread1  thread2  thread3调用的 getState()方法,不是启动执行3个线程,是在主线程中运行呢!

所以你这里没有多线程,是正常的if逻辑判断。
goodczs
2014-08-23 · TA获得超过2118个赞
知道小有建树答主
回答量:2251
采纳率:0%
帮助的人:945万
展开全部
提供给楼主几个关键字:同步,原语,指令周期
追问
我这句是想在主线程中判断每个线程的状态,起到实时监控的作用,查了些关于你说的这些,意思是只有原子操作才可以不加同步对吗,那就是说即使if后面的括号看似一个整体,但是会被cpu抢走执行权,我说的对吗?希望得到你更多的指导,那该怎么写呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式