#学志#多线程

来源:互联网 发布:java 线程池 如何使用 编辑:程序博客网 时间:2024/04/30 07:18

一、实验名称:多线程的操作

二、实验步骤:

Lab04-1:

Step1: 建立一个线程,并执行线程任务(runner函数)


Step2: runner任务输出小于输入参数的所有素数 


结果:



Lab04-2

Step1: 分别创建兔子和乌龟两个线程

  

Step2: 随机生成兔子和乌龟跑的距离,假设兔子速度比乌龟稍大(upper即所输入的所要比赛的距离数)

 

  

Step3: 在跑的距离达到所要求的距离时输出赢得语句(其中兔子会稍作停顿休息)

  

全部结果:

 


三、总结:

 

1. argv为main函数的参数在运行时需先传入才可以正确执行程序;

2. 线程是在create之后就执行;

3. 一个进程中的多线程是轮流执行的,是CPU在线程中切换,其实并不是真正的同时进行;

 

总结:

要熟悉了解多线程运行过程;

线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源

当多个任务可以并行执行时,可以为每个任务启动一个线程

多线程实际上是多个线程之间轮流执行的就是将一个时间段分成若干个时间片每个线程只运行一个时间片由于时间片极短,而且电脑运行极快线程之间切换也极快,几乎可以看做是并行运行的也就是说可以看成是同时运行的.但实际却不是的同时运行的CPU把工作时间分成很多很短的时间片,一个一个时间片的来执行任务,假如多个线程在这些时间片里面轮流执行);

0 0
原创粉丝点击