进程包含堆和方法区,内存中保存指令,成员变量,常量。
Thread t = new Thread(()->{线程体});(新建状态)这一步是创建一个Thread对象,与创建一个Student对象没区别。本质是在内存中分配一块空间保存对象信息。t.start();(可运行状态)创建一个线程,在内存中分配一个空间保存线程信息,线程名称Thread-0,线程状态runnable,程序计数器保存当前执行的的指令地址,线程优先级,局部变量这些;上一步只是创建一个对象,这一步才是创建一个线程。这一步线程还在内存中,没有在cpu上执行。cpu上执行(运行装态)cpu根据程序计数器取指令,译码,执行。线程状态running。System.out.println(“The good news.”);(阻塞状态)程序计数器保存下一条指令地址。没有在cpu上执行。线程状态blocked。输出结束(可运行状态)线程状态runnble。cpu上执行(运行装态)cpu根据程序计数器取指令,译码,执行。线程状态running。Thread.sleep(1000L);(阻塞状态)程序计数器保存下一条指令地址。没有在cpu上执行。线程状态blocked。1秒后(可运行状态)线程状态runnble。点击红色按钮终止进程(终止状态)线程异常终止
线程的代码在cpu 内存的大概流程是这样?
老师您好,使用Thread.yield和Thread.sleep(0),这两个有区别么?我知道sleep(0)会进入runnable状态,但是下次获得CPU执行权的可能还是这个线程,yield是在CPU没有忽略这个命令的情况下才进入Runnable状态和sleep(0)一样?如果忽略了就相当于没调用么?
老师,视频中提到当策略过多时考虑换成其他设计模式,其他是哪种,我想自己查资料了解一下。
servlet; java.util.concurrent.TimeUnit; ThreadSyncharned { Object = Object(); accessResource(){ (){ { TimeUnit..sleep(); }(Exception e){ e.printStackTrace(); } } } main(String[] args) { ThreadSyncharned threadServlet = ThreadSyncharned(); (i = ; i <; i++) { Thread(threadServlet::accessResource).start(); } } }
老师 这个代码里面是怎么实现线程的方法的?
老师您好!请问一下在方法上直接加synchronized关键字的时候就只有窗口一拿到run方法,但是为啥修改第二版的时候break的时候 这个run()方法是有多个窗口来执行的?这两者有什么区别
本章的资料提取码是错的,老师看看。。。。。。。。。。。
老师,我实践的时候发现2个问题希望解答,谢谢:
课程中的t1线程没有start() 的时候 t1获取的线程组与main线程组比较是true,当start()后获取进行比较结果为false,为什么启动线程前后比较不一致?
t1线程启动后,通过t1.getThreadGroup().getName()获取线程组名称报空指针异常?
代码:
ThreadGroupSample { (String[] args) { ThreadGroup mainThreadGroup = Thread.().getThreadGroup()Thread t1 = Thread()t1.start()ThreadGroup threadGroup = ThreadGroup()Thread t2 = Thread(threadGroup)System..println(+t1.getState())System..println(+ mainThreadGroup.getName())System..println(+ t1.getThreadGroup().getName())System..println(+ (t1.getThreadGroup() == mainThreadGroup))System..println(+ (t2.getThreadGroup() == mainThreadGroup))} }
老师这一步为什么要用final修饰,希望解惑,谢谢。
老师,这个课程很好由浅入深,讲解的能与实例相结合,大概什么时候会更新?更新时间在介绍中没有标注,希望介绍里面写一下。谢谢
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637