ZKX's LAB

开线程跑for循环 用for循环,是每个循环创建了一个线程吗

2021-04-09知识5

写一个线程类MyThread,该线程实现了Runnable接口,写一个main方法, interrupt(),stop(),suspend()都不推荐再用,而是应该让 run 方法正常地退出,如果你打算让它循环,就在 run()方法内用一个循环(比如 while(indicator)循环让它在标记位 indicator 改变后退出来)。通过interrupt 对比那个线程是不是当前线程,这种做法很怪异,不是在 java 中用=就可以比较的么 thread=Thread.currentThread()就是当前线程,再说了,怎么会是当前线程来决定当前线程的命运呢?管理线程应该和工作线程分开才合适。现在这个代码是先尝优雅地退出,之后,强制退出,这说明作者不确信他写的代码能正常地退出,那么什么情况下不能正常地退出呢,如果是 socket 阻塞了,那我们给一个 timeout,如果是数据库阻塞了,我们允许强制退出,如果不是这种外界资源导致的阻塞,我们的程序就应该保证能正常地退出,否则就是质量问题。另外,interrupt 之后出现的异常完全不应该 e.printStackTrace()因为你应该确信错误是什么,就直接打印出一段类似“线程未在指定时间内退出,强制终止它”的消息。interrupt()之后再 join()看起来不适合,不过,可能只是为了保险起见。反正看不去哪里不确信。如果你想等几个线程都完成之后你的主线程才继续,那么代码应该时先把工作线程都启动。

怎么让一个循环里的方法做到多线程 直接就多线程就行了噢.把A所在对象 传一个引用到 线程类里头.然后在线程类里头调用 A方法.

java—for循环里启动的线程要怎么理解? 每次循环中都创建了一个新的线程对象,所以start启动了二十个不同的线程。另外,不是所有东西用多线程都能加速,切换线程的时候也是会有损耗的

#开线程跑for循环

随机阅读

qrcode
访问手机版