Java多线程
走日的马
这个作者很懒,什么都没留下…
展开
-
Java创建多线程的几个方法
方法一、继承Thread类 class thread1 extends Thread{ public void run(){ //重写run方法 } } public static void main(String[] args) { thread1 t1=new thread1(); ti.start(); } 这种方法不推荐使用。 1、如果一个类继承了Thread就无法继承其...原创 2019-10-10 13:55:52 · 62 阅读 · 0 评论 -
Java线程的六种状态
New新创建 Runnable可运行 Blocked被阻塞 Waiting等待 Timed waiting计时等待 Termminated被终止 1、新创建线程 使用new创建一个线程,该线程还没有开始运行,在运行前还有一些基础工作要做。 2、可运行线程 调用start方法,线程处于可运行状态。一个Runnable线程即可能正在运行也可能没有运行,取决于操作系统给该线程提供运行的时间。 3、被...原创 2019-10-10 15:13:45 · 89 阅读 · 0 评论 -
Java synchronized关键字详解
为什么使用synchronized? 因为线程调用的操作并不是原子操作,即方法中步骤可能在没有运行完就被剥夺了运行权。 假设两个线程同时执行指令 i++; i++并不是原子操作,该指令可能有以下三步: i加载到寄存器 给i增加1 结果写回i 如果第一个线程执行1、2步,他就被剥夺了运行权。线程二执行1-3。然后,线程一被唤醒然后完成第3步,此时,线程一的操作抹去了线程二的操作,出现线程安全问...原创 2019-10-10 20:15:23 · 84 阅读 · 0 评论