采用线程的优点:1:在一个已有进程中创建一个新线程比创建一个全新进程所需的时间少。2.终止一个线程比终止一个进程花费的时间少3.线程问切换比进程间切换花费的时间少。4.线程提高了不同的执行程序间通信的效率。在大多数操作系统中,独立进程间的通信需要内核的干涉,以提供保护和通信所需要的机制。但是,由于在同一个进程中的线程共享存储空间和文件,它们无需调用内核就可以互相通信
采用线程的优点: 1.在一个已有进程中创建一个新线程比创建一 个全新进程所需的时间少。 2.终止一个线程比终止一个进程花费的时间少。 3.线程问切换比进程间切换花费的时间少。 4.线程提高了不同的执行程序间通信的效率。 在大多数操作系统中,独立进程间的通信需要 内核的干涉,以提供保护和通信所需要的机制。 但是,由于在同一个进程中的线程共享存储空 间和文件,它们无需调用内核就可以互相通信
调度和分派可以在线程基础上进行,因此大多数与执行相关的信息可以保存在线程级的数据结构中
调度和分派可以在线程基础上进行,因此大多数与执行 相关的信息可以保存在线程级的数据结构中
Thread Function( 线程功能·Thread State(线程状态):运行、就绪和阻塞。·与线程状态变化的4种基本操作:①产生(Spawn):当产生一个新进程时,同时也为该进程产生了一个线程,随后,进程中的线程可以在同一个进程中产生另一个线程,新线程被放置在就绪队列中。②阻塞(B1ock):当线程需要等待一个事件时,它将阻塞,此时处理器转而执行另一个就绪线程。③解除阻塞(Unblock):当阻塞一个线程的事件发生时,该线程被转移到就绪队列中。④结束(Finish):当一个线程完成时,其寄存器的信息和栈都被释放
Thread Function( 线程功能) • Thread State (线程状态):运行、就绪和阻塞。 • 与线程状态变化的4种基本操作: ①产生(Spawn):当产生一个新进程时,同时也 为该进程产生了一个线程,随后,进程中的线 程可以在同一个进程中产生另一个线程,新线 程被放置在就绪队列中。 ②阻塞(B1ock):当线程需要等待一个事件时, 它将阻塞,此时处理器转而执行另一个就绪线 程。 ③解除阻塞(Unb1ock):当阻塞一个线程的事 件发生时,该线程被转移到就绪队列中。 ④结束(Finish):当一个线程完成时,其寄存 器的信息和栈都被释放
在单线程程序中,结果是按顺序获得的,因此程序必须依次等待来自每个服务器的响应。为每个RPC使用一个独立的线程,可以使速度有实质性的提高。如果这个程序在单处理器上运行,文有多个线程那么必须顺序地产生请求并且顺序地处理结果,但是程序同时等待两个回答例如图4.3所示
在单线程程序中,结果是按顺序获得的,因此程序必须 依次等待来自每个服务器的响应。 为每个RPC使用一个独立的线程,可以使速度有实质性 的提高。如果这个程序在单处理器上运行,又有多个线 程,那么必须顺序地产生请求并且顺序地处理结果,但 是程序同时等待两个回答。 例如图4.3所示
Thread Synchronization(线程同步)一个线程对资源的任何修改都会影响同一个进程中其他线程的环境。因此,需要各种线程的活动进行同步,以便它们互不干涉且不破坏数据结构
Thread Synchronization (线程同步) • 一个线程对资源的任何修改都会影响同 一个进程中其他线程的环境。因此,需 要各种线程的活动进行同步,以便它们 互不干涉且不破坏数据结构