Java基础-线程
Java基础-线程,线程相关源码分析
zhangjin1120
这个作者很懒,什么都没留下…
展开
-
笔试题:创建三个线程,第一个线程打印1 2 3 4 5, 第二个线程打印 6 7 8 9 10...
题目:创建三个线程,第一个线程打印1 2 3 4 5, 第二个线程打印 6 7 8 9 10, 第三个线程打印11 12 13 14 15,然后第一个线程再打印16 17 18 19 20,然后第二个线程接着打印21… 依此类推,直到打印到100。有哪些坑?synchronized关键字对值为[-128,127]之间的Integer类型,不起作用。所以不能用Integer作锁对象。为了防止打印的值超过100,在每次输出钱都要检查是否超过100了。打印完成后,锁没有及时释放,导致其他没有获得锁的线程原创 2021-10-11 20:31:30 · 418 阅读 · 0 评论 -
线程系列:Thread中start()与run()的区别
测试代码public class ThreadTest { public static void main(String[] args) { Thread t = new Thread(new Runnable() { @Override public void run() { go(); } }); t.run(); Sys.原创 2021-03-30 18:38:51 · 47 阅读 · 0 评论 -
线程的就绪状态笔试题分析
有关线程的哪些叙述是对的()A. 一旦一个线程被创建,它就立即开始运行。B. 使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。C. 当一个线程因为抢先机制而停止运行,它可能被放在可运行队列的前面。D. 一个线程可能因为不同的原因停止并进入就绪状态。正确答案:BCDA错线程创建后,进入NEW(初始)状态,调用start方法后,进入READY(就绪)状态,系统分配给该线程时间片后,线程才开始运行。B对使用start()方法可以使一个线程成为可运行的,但是它不一定.原创 2022-03-05 13:00:04 · 2486 阅读 · 0 评论 -
线程相关梳理
线程的就绪状态笔试题分析线程常用方法线程系列:wait()与notifyAll()的简单实例线程系列:Thread中start()与run()的区别笔试题笔试题:创建三个线程,第一个线程打印1 2 3 4 5, 第二个线程打印 6 7 8 9 10…...原创 2022-03-05 14:40:39 · 170 阅读 · 0 评论 -
线程系列:wait()与notifyAll()的简单实例
首先wait()和notify()并不是Thread类中的函数,而是Object类中的。但是面试中,问到线程时,经常问到wait(),notify()机制。下面是一个wait()和notifyAll()的实例。import java.text.SimpleDateFormat;import java.util.Collections;import java.util.LinkedList;import java.util.List;public class WaitNotifyTest{.原创 2021-03-31 11:35:11 · 160 阅读 · 0 评论 -
Thread.start()以后线程处于什么状态?
运行状态,运行状态包含就绪状态、运行中状态。参考:java线程的6种状态原创 2020-12-04 18:24:55 · 1708 阅读 · 0 评论 -
取消正在执行的线程
开一个线程,执行一个任务:计算1000000033是不是质数,2秒后取消这个任务。真的是:不试不知道,一试吓一跳!!!原创 2022-09-02 03:00:00 · 876 阅读 · 2 评论 -
java创建线程的方式有哪些?他们有什么区别?
java创建线程的方式有三种:继承Thread实现Runnable接口FutureTask+Callable接口三种方式对比:采用实现Runnable、Callable接口的方式优势:线程类只是实现了Runnable接口或Callable接口,还可以继承其他类。多个线程可以共享同一个target对象,所以非常适合多个相同线程来处理同一份资源的情况,从而可以将CPU、代码和数据分开,形成清晰的模型,较好地体现了面向对象的思想。线程池只能放入Runable或Calla..原创 2021-01-17 15:52:30 · 153 阅读 · 0 评论