当前位置: 首页 > news >正文

洛南网站建设百度seo搜搜

洛南网站建设,百度seo搜搜,如何建设一个自己+的网站首页,公司文化墙设计线程的中断 1.应用场景#xff1a; 假设从网络下载一个100M的文件#xff0c;如果网速很慢#xff0c;用户等得不耐烦#xff0c;就可能在下载过程中点“取消”#xff0c;这时#xff0c;程序就需要中断下载线程的执行。 2.常用中断线程的方法#xff1a; 1.使用标…线程的中断 1.应用场景 假设从网络下载一个100M的文件如果网速很慢用户等得不耐烦就可能在下载过程中点“取消”这时程序就需要中断下载线程的执行。 2.常用中断线程的方法 1.使用标志位 2.interrupt 1如果当前线程sleep,wait或因为其他线程使用join()而陷入阻塞状态那么当在其他线程中调用了该线程的interrupt()方法时join()等方法会立刻抛出InterruptedException异常目标线程只要捕获到该异常会立刻结束运行 2interrupt()不能中断I/O阻塞和synchronized锁阻塞 关于重置中断标志位 isInterrupted()---不清除中断标志位当前线程 public boolean isInterrupted() {//实例方法不会重置标志位return isInterrupted(false);} interrupted()-----清除中断标志位又变成false调用该方法的当前线程对象public static boolean interrupted() {//静态方法会重置标志位return currentThread().isInterrupted(true);}3.代码 3.1自己设置中断标志位 class MyThreadTest extends Thread{ public volatile boolean flagtrue; Override public void run() {//1.标志位 while(flag){System.out.println(Thread.currentThread().getName()是否中断---Thread.currentThread().isInterrupted()------Thread.currentThread().getState()); } System.out.println(-----触发中断标志中断了---); }//测试的代码Test public void test1() throws InterruptedException {MyThreadTest t new MyThreadTest(线程1);t.start();Thread.sleep(1);t.flag false; }3.2调用 interrupt() interrupted() 自定义线程测试 class MyThread2 extends Thread { Override public void run() {while (!isInterrupted()) {System.out.println(Thread.currentThread().getName() 是否中断--- Thread.interrupted() ------ Thread.currentThread().getState());}System.out.println(Thread.currentThread().getName() end Thread.interrupted());System.out.println(Thread.currentThread().getName() end Thread.interrupted());}}//测试的代码Test public void test2() throws InterruptedException {MyThread2 t2new MyThread2();t2.start();Thread.sleep(1);t2.interrupt(); }直接在主线程测试 public static void main(String[] args) throws InterruptedException {Thread.currentThread().interrupt(); System.out.println(Thread.interrupted()); System.out.println(Thread.interrupted()); } }isInterrupted() 自定义线程类 class MyThread3 extends Thread {Overridepublic void run() {while (!isInterrupted()) {System.out.println(Thread.currentThread().getName() 是否中断--- Thread.currentThread().isInterrupted() ------ Thread.currentThread().getState());}System.out.println(Thread.currentThread().getName() end Thread.currentThread().isInterrupted());System.out.println(Thread.currentThread().getName() end Thread.currentThread().isInterrupted());} }Test public void test3() throws InterruptedException {MyThread3 t3new MyThread3();t3.start();Thread.sleep(1);t3.interrupt(); }在主线程中测试 public static void main(String[] args) throws InterruptedException {Thread.currentThread().interrupt();System.out.println(Thread.currentThread().isInterrupted());System.out.println(Thread.currentThread().isInterrupted()); } }4.总结比较 1.最好使用isInterrupted()方法进行中断标志的判断因为不会重置标志位 2.对目标线程调用interrupt()方法可以请求中断一个线程目标线程通过检测isInterrupted()标志获取自身是否已中断。 如果目标线程处于等待状态该线程会捕获到InterruptedException 3.目标线程检测到isInterrupted()为true或者捕获了InterruptedException都应该立刻结束自身线程 4.通过标志位判断需要正确使用volatile关键字 volatile关键字解决了共享变量在线程间的可见性问题。
http://www.hkea.cn/news/14533928/

相关文章:

  • 新野微网站开发松江网站建设多少钱
  • 建设网站号码是多少网站开发需要注意什么
  • 凤岗镇仿做网站美化网站代码
  • 网站建设接外包流程图徐州英文网站优化
  • 人动物做电影网站青岛网站设计建立公司
  • 5G网站建设设计吧官网
  • 加强网站网络安全建设公司建一个网站多少费用
  • wordpress首页调用文章数量广州推动优化防控措施落地
  • 做视频网站的备案要求吗百度一下首页官网百度
  • 大连做网站价格重庆建设摩托车价格
  • 特价网站源码网站侧边栏怎么做
  • 怎么建站网站邯郸高端网站建设
  • 重庆市网站建设公司建网站需要什么人
  • 网站提交了被收录后改怎么做设计师培训计划方案
  • 建设网站简单教程设计logo网站知乎
  • 镇江网站设计制作济南网站制作搜到
  • 网站备案名称必须是公司名网络营销课程心得体会
  • 做网站学习什么重庆观音桥步行街
  • 免费自助建站源码做收钱的网站要什么条件
  • 手机网站建设软件有哪些方面网站建设"淘宝网" 在颜色选取和搭配方面有哪些值得学习的地方.
  • 婚恋网站女孩子做美容郑州睿网站建设
  • 鞍山做网站的公司网站首页被k 内页还有
  • 电商网站开发的功能建设工程 法律 网站
  • 盐城网站开发代理商事件营销的步骤
  • 网站打开速度很慢做淘宝一件代发的网站
  • 网站建设与管理报告泰安网站建设制作电话号码
  • 建设行政管理部门网站怎们自己做网站
  • 吴川网站开发公司福州seo网站优化
  • 汽车网站管理系统wordpress自动博客
  • 哪个网站做自媒体比较好十大装修公司排名哪家最好