并发和多线程基础之概念

1、什么是并发?什么是多线程?

    答:A、最简单和最基本的并发之两个或多个独立的活动同时发生。

          B、计算机中的并发:当系统同时执行多个独立的任务,而非顺序的进行一些活动。

          C、多进程并发:是将应用程序分为多个独立的进程,他们在同一时刻运行,就像同时浏览网页和文字处理一样。独立的进程可以通过常规的通信渠道进行信息之间的传递(信号、套接字、文件、任务管道),缺点:每个进程需要固定的开销、需要时间启动进程、操作系统需要内部资源管理进程。优势:可以远程连接、在不同的机器上运行独立的进程。

 D、多线程并发:并发的另外一种方式是在单个进程中运行多个线程,线程很像轻量级进程:每个线程独立运行,且线程可以在不同指令序列中运行。但是进程中所有线程都是共享地址空间(全局变量仍然是全局,指针、对象的引用或数据可以在线程之间相互传递)。(进程与线程不同的是:进程之间的相互通信通常是共享内存,但是同一数据的内存地址在不同进程至今年是不同的)。下面展示两个线程之间通过共享内存通信:

2、为什么使用并发:

        A、为了关注分离点:通过将相关的代码与无关的代码分离,可以使程序更容易理解和测试,从而减少出错的可能性。

        B、为了性能:将一个任务分成几部分,且各自运行,从而降低总运行时间,这就是任务并行。或者是数据方面:每个线程在不同数据上执行相同的操作,这就是数据并行。

猜你喜欢

转载自blog.csdn.net/wymtqq/article/details/80037774