run方法里面有创建集合那每次线程抢到执行权为什么不都会创建一个新集合
时间: 2023-03-31 17:02:27 浏览: 48
每个线程在执行 run 方法时,都会创建一个新的集合,但是这些集合是保存在每个线程的栈内存中的,而不是保存在堆内存中的,所以不会出现多个线程共享同一个集合的情况。因此,每个线程都会创建自己的集合,互不干扰。
相关问题
为什么多线程run方法只会执行一次,不是每次线程抢到cpu都会执行run方法吗
多线程的run方法只会执行一次是因为在多线程中,每个线程只会执行一次run方法,而不是每次抢到CPU都会执行run方法。线程的执行是由操作系统调度的,当线程抢到CPU时,会执行run方法,当run方法执行完毕后,线程就会结束。如果想要多次执行run方法,可以使用循环或者定时器等方式来实现。
调用线程对象的start 方法会执行run 方法 为什么不能直接调用run 方法
调用线程对象的start方法会启动一个新的线程来执行run方法中的代码,而直接调用run方法只会在当前线程中执行run方法中的代码,不会创建新的线程。如果直接调用run方法,就失去了多线程的优势,不能同时执行多个任务,影响程序的性能。因此,需要调用start方法来启动新的线程,让程序能够充分利用多核处理器的优势,提高并发度和吞吐量。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)