首页
学习
活动
专区
圈层
工具
发布

多线程:为什么在while循环中加入System.out.println,线程可以停止

,而线程栈中的值不是最新的,所以会一直循环,线程并不能停止。...如下就能停止线程的运行: public class StopThread { private static boolean stopRequested; public static void...而加了 System.out.println 之后,由于内部代码的同步关键字的存在,导致CPU的输出其实是比较耗时的。这个时候CPU就有可能有时间去保证内存的可见性,于是while循环可以被终止。...其实,也可以在 while 循环里面加上 sleep ,让 run 方法放弃 cpu ,但是不放弃锁,这个时候由于 CPU 有空闲的时候就去按照 JVM 的要求去保证内存的可见性。如下所示。...run 方法里面休息了 3 秒,cpu 有充足的空闲时间去取变量的最新值,所以循环执行一次就停止了。

2.3K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python中的while循环

    终止while死循环 while定义 for 循环是从序列中取元素,而while循环依据条件真假,决定是否执行后面的语句。...while循环语法格式如下: while condition: statements() while循环流程图 ‍while循环流程图解释: 计算机从start开始执行程序,判断条件condition...是否为真,如果为真,按照线路1执行while后面的语句块;语句块执行完后,按照路线2返回去继续判断条件真假,如果条件为假,执行线路3结束循环; 普通while练习 python中input()函数可以让计算机暂停...break语句一旦被执行,和break有同样缩进的语句都不会被执行了,和break对应的while语句也就终止了。可以用break语句控制程序流程,哪些语句执行,哪些不被执行。...while 和True and False语句 用控制台运行input语句 Ctrl + C结束while死循环 Ctrl + C结束控制台中的while死循环 家庭作业: 完成例题 用while

    5.5K60

    【python入门系列课程 第八课 不停止的while循环】

    前言 本系列课程是针对无基础的,争取用简单明了的语言来讲解,学习前需要具备基本的电脑操作能力,准备一个已安装python环境的电脑。如果觉得好可以分享转发,有问题的地方也欢迎指出,在此先行谢过。...进入循环 当条件一直为真时,就会无限循环,一直执行里面的语句。 下面代码会不停的打印出 不断增加的数字,注意要按下停止键(不然计算机可能会陷入死机状态)。...代码: i=1 while True: print(i) i=i+1 效果: ? 解释: 上面True就是条件,条件是真的,所以就会一直循环,打印出数字。不主动停止程序就不会停下来。...总结: while循环语句可以解决程序中需要重复执行的操作。其循环执行的次数由循环条件确定,当循环条件满足时,重复执行某程序段,直到循环条件不成立为止。...反复执行的程序段称为循环体,循环条件必须要在循环体中改变,否则可能会出现无限循环的结果。

    1.6K10

    Python的if判断与while循环

    1.if判断 Python 编程中 if 语句用于控制程序的执行,基本形式为: if 判断条件: 执行语句 else: 执行语句 Python中使用缩进代替c语言中的大括号,来告诉程序所执行的内容...有的Tab宽度是4,有的宽度是8, 这些不一致会使得代码混乱,尤其是靠缩进表示块结构的Python。 其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。...循环 Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。...while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立。...可在while语句后面加上else语句,else 中的语句会在循环正常执行完(即 while 不是通过 break 跳出而中断的)的情况下执行。 三段使用while语句猜年龄的代码。

    2.3K70

    软件测试|最全的Python for循环和while循环使用介绍

    Python for循环和while循环循环简单来说就是让一段代码按你想要的方式多次运行。软件拥有强大的运算能力,就是由循环提供的。...在 Python 中支持的循环由两种:while 循环 和for 循环。while循环while 的中文意思为当...的时候。顾名思义,当条件满足的时候做什么事情。...来看看 while 语句的格式:while 条件: 当条件成立的时候,执行这里的语句 # 注意缩进while 循环,当条件满足的时候,执行 while 包含的语句块,直到条件不满足,则退出循环,...i = 0while i while 容易出现死循环,所以我们在实际使用过程中,while 循环的使用频率远低于我们后面要讲的 for 循环。...100的情况,那么我们就可以使用 while 循环。

    2.7K10

    Python中while循环详细讲解、循环的作用和分类

    答: 重复执行100次一样的代码,利用程序中的循环即可做到 二、循环的分类: 在python中,循环分为while和for两种,最终实现的效果相同。...三、while的语法 while 条件: 条件成立重复执行的代码1 条件成立重复执行的代码2 .........2 3 4 5 6 7 8 9 10 11就不打印了 # 数据表示循环的次数,第一次是1,最后依次是10次----1 + 1 + 1 + 1...... # 在Python中我们一般用字母i或者j来表示次数...,但是一般工作习惯都是初始值取得是0,因为计算机世界中第一个数字就是0,这样条件就写小于几,这里小于10每次增量加1,就取到10的前一个数就是9,加上初始值0次所以就会打印10次 五、while循环的执行流程...如果看文字教程还是不怎么理解的话可以去看Python基础视频教程,对某些操作文字的表达还是欠缺的,有了视频可以更直观一些。

    3.2K20

    【python入门到精通】python循环语句While,for的使用

    作者 :“大数据小禅” 欢迎小伙伴们 点赞、收藏⭐、留言 目录 python While循环语句 python for 循环语句 for循环经常与range()函数连用,代码如下: While...: python While循环语句 python编程中的While语句用于循环执行程序,即在某条件下,执行某段程序,常常与if…else,for语句一起连用,下面是Whlie循环的基本形式: while...(依次输出1,3,5,7,9): 1,3,5,7,9 python for 循环语句 Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串,实例代码如下: for letter in...无限循环 如果条件判断语句永远为 true,循环将会无限的执行下去,如下实例: sum=1 while sum ==1: #该条件即判断永远为True print("无限输出") >...>>输出结果为:打印无数次字符串"无限输出" 循环使用 else 语句 在 python 中,while … else 在循环条件为 false 时执行 else 语句块: count = 0 while

    2.2K20

    python学习笔记(5)循环语句while,for的使用

    python While循环语句 python编程中的While语句用于循环执行程序,即在某条件下,执行某段程序,常常与if…else,for语句一起连用,下面是Whlie循环的基本形式: while...实例如下: a=1 while a<10: print(a) a+=2 输出结果如下(依次输出1,3,5,7,9): 1,3,5,7,9 python for 循环语句 Python for循环可以遍历任何序列的项目...i += 1 if i > 10: # 当i大于10时跳出循环 break >>>pass的用法:Python pass 是空语句,是为了保持程序结构的完整性。...无限循环 如果条件判断语句永远为 true,循环将会无限的执行下去,如下实例: sum=1 while sum ==1: #该条件即判断永远为True print("无限输出") >...>>输出结果为:打印无数次字符串"无限输出" 循环使用 else 语句 在 python 中,while … else 在循环条件为 false 时执行 else 语句块: count = 0 while

    2.4K20

    python流程控制之while循环的使用

    ,count)     count +=1      循环中止语句: 如果在循环的过程中,因为某些原因,你不想继续循环了,就会用到break 或 continue 语句 break用于完全结束一个循环,...跳出循环体执行循环后面的语句 continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环 例子:break count = 0 while... loop ------ while ... else .. (3-5分钟) 与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句 while 后面的else... 3 Loop 4 Loop 5 Loop 6 循环正常执行完啦 -----out of while loop ------ 如果执行过程中被break啦,就不会执行else的语句啦 count = 0...循环正常执行完啦") print("-----out of while loop ------") 输出 Loop 1 Loop 2 -----out of while loop ------

    1.6K10

    python之for循环和while循环的使用教程,小白也能学会的python之路

    前言 在python中,要实现“重复、自动地执行代码”,有两种循环语句可供我们选择使用: 一种是for...in...循环语句,另一种是while循环语句。...---- 二、while循环: while循环格式 ?...代码示例 while的语句,只要当满足whlle 后面条件的时候,才能进入while内部的代码并且执行,否则不进入也不执行 a = 0 while a < 5: print(a) a=a...我们还可以用while和input()函数结合,实现不断的输入,只有当输入的结果满足一定条件的时候,才结束 password = '' # 变量password用来保存输入的密码 while password...三、两种循环对比 根据上面的代码示例,我们可以知道,for循环用于数量比较少,或者固定的一些值,我们可以用for循环打印 如果遇到数量比较多,且有一定规律的或者满足某种条件的时候,我们可以用while循环打印

    25.3K20

    Python 实现循环的最快方式(for、while 等速度对比)

    while 和 for 是 Python 中常用的两种实现循环的关键字,它们的运行效率实际上是有差距的。...即每进行一次循环,while 都会做一次边界检查 (while i 的纯 Python 代码。...for 循环不需要执行边界检查和自增操作,没有增加显式的 Python 代码(纯 Python 代码效率低于底层的 C 代码)。当循环的次数足够多,就出现了明显的效率差距。...对于上面的求等差数列之和的操作,借助于 Python 内置的 sum 函数,可以获得远大于 for 或 while 循环的执行效率。...最后的结论(有点谜语人): 实现循环的最快方式—— —— ——就是不用循环 对于 Python 而言,则尽可能地使用内置函数,将循环中的纯 Python 代码降到最低。

    1.4K20

    Python新手突破瓶颈:揭秘 itertools.cycle 的无限循环

    简介: 本系列文章专为提升编程技能的 Python 新手设计,深入解析 Python 的高级特性和内置工具。笔者通过学习他人项目中未掌握的知识点进行学习总结,一起提编程水平,突破技术。...itertools.cycle 是 Python 标准库 itertools 模块中的一个函数,用于创建一个无限循环的迭代器,它会不断重复给定的可迭代对象。...无限循环用户输入 你可以使用 itertools.cycle 来创建一个无限循环的提示,提示用户输入。...,由于它创建了一个无限循环的迭代器,因此在实际应用中要小心使用,避免导致无限循环。...如果需要在特定条件下停止循环,可以结合 break 语句或其他控制流工具。 总结 itertools.cycle 是一个非常有用的工具,适用于需要无限重复某个序列的场景。

    1.3K10

    Python while循环的2个应用以及注意事项

    利用while循环的应用把whlei的语法和执行流程更高层次的理解和体会。...验证结果正确性 """ # 准备数据,给数据一个初始值 i = 1 # 结果变量 result = 0 # 开始循环 while i <= 100: # 加法运算: 前两个数的结果 + 第三个数...验证结果正确性 """ # 准备数据,给数据一个初始值 i = 1 # 结果变量 result = 0 # 开始循环 while i <= 100: # 条件语句 if if i % 2...输出结果 """ # 准备数据,给数据一个初始值0 i = 0 # 结果变量 result = 0 # 开始循环 while i <= 100: # 加法运算: result += i...图片1.png 以上两个while循环应用题只是简单的练习了一下思维,借着Python练习题讲解了在运用到计数器的时候的注意事项。

    78240

    【Linux】一个简单while循环实现【严格轮转】,从而理解什么是【多线程的忙等待】

    本章主要内容面向接触过C++的老铁 主要内容含: 一.忙等待介绍 忙等待(Busy-waiting)是一种同步机制,其中一个进程或线程 重复检查某个条件是否满足 以便继续执行,而不是进入休眠或阻塞状态...于是我们便可以用while循环,让 不符合条件/顺序的线程 符合while循环条件 进入里面进入忙等待状态,达到 重复检查 效果;而不是不符合条件运行或者直接啥也不干结束; 二.忙等待代码题解析 题干...: 创建两个线程,分别是线程1和线程0,每隔1s输出1到10的数字; 要求线程1先输出,线程0后输出; 不使用条件变量,互斥量 代码: #include #include #include #include int turn = 0; // 全局标志变量,用于控制线程1和线程0的执行顺序 void...* thread_func(void* arg) { long tnum=(long)param; while(tnum!

    43410
    领券