杏 彩 招 商

  杏 彩 招 商 【Q和V同:45545 】【顶尖待遇一步到位】-注-册-.-充-值-.-代-理-.-开-户,无需打开页面.欢迎随时咨询!多进程与多线程的区别, 本质的区别在于每个进程拥有自己的一整套变量, 然后线程则共享数据. 另外, 与进程比较, 线程更"轻量级", 创建, 撤销一个线程比启动新的进程的开销要小得多. 在实际应用中, 多线程非常有用, 例如: 一个浏览器可以同时下载几幅图片.
  杏 彩 招 商 【Q和V同:45545 】【顶尖待遇一步到位】-注-册-.-充-值-.-代-理-.-开-户,无需打开页面.欢迎随时咨询!如果需要执行一个比较耗时的任务, 应该使用独立的线程.
  下面是一个单独线程中执行一个任务的简单过程:
  1) 将任务代码移动到实现了 Runnable 接口的类的 run 方法中.
  class MyRunnable implements Runnable {
  public void run() {task code}
  }
  2) 创建一个类对象, Runnable r = new MyRunnable();
  3) 有 Runnable 创建一个 Thread 对象
  Thread t = new Thread(r);
  4) 启动线程
  t.start();
  中断线程
  让run方法执行完了, 或者出现了在方法中没有捕获的异常时, 线程将终止. 每个线程都有个 boolean类型的flag, 用来判断此线程是否已经终止. 首先需要调用 Thread.currentThread 获得运行时的当前线程, 然后再调用 isInterrupted() 判断是否终止, 即 Thread.currentThread().isInterrupted(), 但是, 如果线程被阻塞, 就无法检测中断状态. 这样就会产生 InterruptedException 异常如果该线程已经被阻塞.
  线程的状态
  杏 彩 招 商 【Q和V同:45545 】【顶尖待遇一步到位】-注-册-.-充-值-.-代-理-.-开-户,无需打开页面.欢迎随时咨询!new, Runnable, Blocked, Waiting, Timed waiting, Terminated

猜你喜欢

转载自www.cnblogs.com/wwyyff80/p/12784057.html
今日推荐