-
线程的方法查看全部
-
Thread常用方法查看全部
-
hjgyvjhvjbjh查看全部
-
每一个java文件中只能有一个public类 两种方法实现线程: 1、继承 Thread 类 class MyThread extends Thread{}; Thread myThread = new MyThread(); myThread.start(); 2、实现Runnable接口 class MyRunnable implements Runnable{} Thread myRunnable = new Thread(new MyRunnable); myRunnable.start(); 3、Thread启动后执行run()方法 4、若实现接口通过Thread.currentThread().getName()方法获取当前线程名称,继承Thread则getName()方法获取当前线程。 Thread类的方法: .getName() 返回线程的名字 .setName(String Name) 改变线程的名字 .start() 使该线程开始执行,Java 虚拟机调用该线程的 run 方法。 .sleep(long millis) 在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。线程不丢失任何监视器的所属权。 .currentThreat() 返回对当前正在执行的线程对象的引用。(静态方法,返回Thread类型)查看全部
-
thread.yield()查看全部
-
thread void start sleep join查看全部
-
Thread常用方法查看全部
-
volatile 关键字 保证了线程正确的读取其他线程写入的值查看全部
-
Java memory mode描述了java线程如何通过内存进行交互 线程的互斥 sychronized 线程的同步 wait notifyall notify 多线程编程常用的交互模型: 1、生产者 -- 消费者模型 2、读写锁模型 3、future模型 4、worker thread模型 并发编程工具: 1、java.util.concurrent 2、线程池ExcuterService 3、Callable Furure 4、BlockingQueue查看全部
-
实现互斥与同步 同步可以由wait()/notify()/notifyAll()实现,这三个方法都是Object对象而非Thread对象。同步一定是由两个或多个线程之间完成的,而不是由一个线程完成的,当一个其他线程完成时,会通过notify通知被阻塞的线程(如果满足条件则唤醒),实现进程间的通信即为线程同步。wait()和notify()是在不同的线程中调用的查看全部
-
@Java线程——线程交互——互斥与同步 一、互斥 1、同一时间,只能有一个线程访问数据 二、同步 1、是一种通信机制,一个线程操作完成后,以某种方式通知其他线程 三、实现方法 1、【互斥】构建锁对象(Object objLock),通过synchronized(lockObj){ 互斥的代码块 } 2、加锁操作会开销系统资源,降低效率。 3、在某线程的条件不满足任务时,使用lockObj.wait()对线程进行阻挡,防止其继续竞争CPU资源,滞留在wait set中,等待唤醒,【唤醒后继续完成业务】 4、【同步】在某一代码正确执行完业务后,通过lockObj.notifyAll()唤醒所有在lockObj对象等待的线程查看全部
-
第三:线程常用方法 1.获取线程名称:getName(); 2.取得当前线程对象:currentThread(); 3.判断是否启动:isAlive(); 4.强行运行:join(); 5.线程休眠:sleep(); 6.线程礼让:yield();查看全部
-
1.Interrupted 相当于 旗标 (isInterrupted ==>true flase) 2.线程中使用 sleep等方法造成线程堵塞时, 标志位被清除,Interrupted方式无效 抛出InterruptedException(中断异常) interrupt方法是用来唤醒被阻塞的线程的,如果线程使用了wait, sleep, join方法,那么线程就会进入阻塞状态,使用interrupt方法会终止这种状态,此时线程的sleep等方法下面的catch语句就会接收到这个打断,从而启动线程,继续做要做的事情。如果线程在阻塞之前使用interrupt方法,那么在阻塞的时候,会抛出异常,并把中断标志位设置成false。 一、错误一:stop()方法 1、not stop:stop()方法会使线程戛然而止 2、使程序突然中止,无法完成完整的业务步骤,也无法进行清理工作 二、错误二:interrupt()方法 1、interrupt()方法只能设置interrupt标志位(且在线程阻塞情况下,标志位会被清除,更无法设置中断标志位),无法停止线程 三、正确方法:设置退出标志 1、使用退出标志位来停止while循环 2、完成最后一次业务后跳出while循环后,之后进行一些清理工作查看全部
-
stop方法--错误的停止java线程的方法查看全部
-
正确停止线程 使用设置退出标志 volatile boolean keeprunning=ture;利用while循环 停止的时候可以把 keeprunning=false查看全部
举报
0/150
提交
取消