什么是线程?使用多线程有哪些好处?有会带来哪些问题?

题目

什么是线程?使用多线程有哪些好处?有会带来哪些问题?

参考答案和解析
正确答案:通俗地讲,线程是一个代码执行流。
使用多线程的好处是:(1)多线程为多个代码执行流并发执行提供了可能。(2)多线程程序比多进程程序降低了资源占用要求。
使用多线程也会对系统产生一些不利影响:(1)线程需要占用内存,线程越多,内存占用越多。(2)线程过多,会消耗大量CPU时间来跟踪线程。(3)必须考虑多线程同时访问共享资源的问题,如果没有协调好,就会产生令人意想不到的问题,例如死锁和资源竞争等。(4)因为同一个任务的所有线程都共享相同的地址空间,并共享任务的全局变量,所以程序也必须考虑多线程同时访问的全局变量问题。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

网络编程中设计并发服务器,使用多进程 与 多线程 ,请问有什么区别?


正确答案:

 

1,进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。
2,线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。
两者都可以提高程序的并发度,提高程序运行效率和响应时间。
线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。
答案二:
根本区别就一点:用多进程每个进程有自己的地址空间(address space),线程则共享地址空间。所有其它区别都是由此而来的:
1。速度:线程产生的速度快,线程间的通讯快、切换快等,因为他们在同一个地址空间内。
2。资源利用率:线程的资源利用率比较好也是因为他们在同一个地址空间内。
3。同步问题:线程使用公共变量/内存时需要使用同步机制还是因为他们在同一个地址空间内。

第2题:

多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?


正确答案:

1第一种解答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口
同步的实现方面有两种,分别是synchronized,wait与notify

2第二种解答:有人提出也可以这样:多线程 1. 继承 Thread 类 2. 实现 Runnable 接口再 new Thread(YourRunnableOjbect) 推荐 线程同步 1. 用 synchronized 修饰需要同步的方法 2. 用 synchronized 块包围需要同步的语句 3. 使用 java.util.concurrent 包中的各种同步锁

第3题:

在采用多线程技术的系统中,下列关于线程的描述哪些是正确的?( )

Ⅰ. 每个线程有自己的标识符

Ⅱ. 每个线程拥有系统分配给它的独立使用的地址空间

Ⅲ. 线程有状态及状态转换

A) 仅Ⅰ和Ⅱ

B) 仅Ⅱ和Ⅲ

C) 仅Ⅰ和Ⅲ

D) 都正确


正确答案:C

第4题:

电子采购可带来什么样的好处?存在哪些主要问题?


正确答案: 电子采购所带来的好处:降低采购成本、缩短采购周期、提高采购质量、透明采购流程。
网络采购对供应商的好处:
(1)公平竞争排除了原有的一些供应商享有的一些优势,供应商有同等的机会;
(2)扩大的市场偏向有竞争能力的供应商;
(3)参加网络采购的供应商能看到市场验证自己的竞争能力;
电子采购存在的主要问题:
(1)缺乏有效的本土解决方案
(2)缺乏有效的本土供应商
(3)网络基础设施不完善
(4)运用成本高
(5)缺乏运作人员

第5题:

以下哪些问题是Python的GIL导致的?()

  • A、无法创建系统级别的线程
  • B、GIL导致了线程间的不公平调度
  • C、计算密集型程序会因为GIL而变得更慢
  • D、IO密集型程序也无法使用多线程模型加速

正确答案:B,C

第6题:

多线程技术具有哪些优越性?


答案:多线程技术具有以下几个方面的优越性:创建速度快、系统开销小:创建线程不需要另行分配资源;通信简洁、信息传送速度快:线程间的通信在统一地址空间,不需要额外的通信机制;并行性高:线程能独立执行,能充分利用和发挥处理器与外围设备并行工作的能力。

第7题:

转化器使用起燃温度低的钒触媒,带来的好处有哪些?


正确答案: ①起燃温度低,气体进入触媒层前预热的温度较低,缩短了开车升温的时间;
②起燃温度低,说明触媒在低温下仍有较好的活性,这样可以使反应的末尾阶段能在较低温度下进行,有利于提高后段反应的平衡转化率,从而可以提高实际的总转化率(又称最终转化率);
③起燃温度低,说明触媒活性好,可以提高触媒利用率(即触媒用量少,而酸产量高。

第8题:

在使用多线程处理问题时,线程池设置越大越好。()

此题为判断题(对,错)。


参考答案:错误

第9题:

喜欢穿高跟鞋有好处吗?会带来哪些坏处?


正确答案:鞋跟的高低对形体、对健康有着明显的影响。时尚女性穿着一双高跟鞋走在宽阔的平坦的马路上,立即给人一种精明能干、朝气袭人的感觉,不仅清脆的脚步声引人关注,更有塑造的流畅的人体曲线令人倾心。鞋跟高的功能使人体前倾,膝关节微屈,为保持身体平衡臀部自然翘起,腰前凸增加,胸部随着挺起,突显出一副优美的形体曲线,美感伊人。高跟鞋能创造一副挺拔的身姿,但它给人带来的不利也是明显的。后跟过高改变了人体的力学平衡,对我们关节会造成损害,尤其是踝关节(脚颈子)和膝关节力学改变最大。在穿高跟鞋时,明显改变了踝关节的功能,而且髌骨(膝盖骨)压向后方骨的压力平均增加23%,易于导致关节退化,引发骨性关节的发生或加重已有骨关节炎的症状。特别跟高7公分的慎穿。

第10题:

线程的常见方法有哪些,你是如何处理多线程的,多线程同步问题你了解么?


正确答案: 线程创建的几种方式,线程的加锁,休眠,唤醒,解锁,退出,多线程要考虑同步问题,解决同步问题的方式就是对某一资源加锁,当一个线程操作本资源时,其他线程不能操作。
系统自带线程池(NSOpertionQueuE.的作用(凡是需要启动多个线程的地方都可以使用NSOpertionQueue,加入到NSOpertionQueue中的对象都需要继承NSOpertion。NSOpertionQueue会在系统内部启动一个独立线程去执行这个被加入对象的main方法。常用的地方是用nsoprationqueue下载图片,文件。如果是自己创建一个线程池,无非就是启动多个线程的时候,把这些线程对象放到一个大数组中,如果需要启动线程的时候,先从数组中找空闲线程来使用。自己管理线程池最大的难题是不好处理当启动多个线程后,用户在多个界面的跳转的时候,对线程方法的回调管理。而NSOpertionQueue可以很好的处理他。

更多相关问题