stxlhr 2017-10-25 14:39 采纳率: 0%
浏览 1073

关于多线程和线程调度、优先级的问题??

菜逼有个问题想不通,多线程中存在用分时模型的调度方式,一个线程要在制定时间片内执行任务,用完之后就要给其他的线程,但是进程中的多线程是共享内存,而且可以同时进行的,这也是多线程相对于进程的特点所在,那么为什么书上还有两个线程不能同时进行,还会出现阻塞状态的说法呢?

有人告诉我说单核并不能真正意义上实现多线程,那么单核的多线程设计有何意义呢,它如何减轻了cpu的负担呢,而迅雷这种软件支持同时下载多个文件,这也属于多线程的范畴吧,而单核的u肯定也可以支持迅雷的这种功能啊,那不是和他的说法冲突了吗。。。求大神解惑啊

  • 写回答

2条回答 默认 最新

  • JavaBuilt 2017-10-26 01:30
    关注

    多线程是并发执行,但不是同时进行,同学不要搞混了。假设火车站买票有五个窗口,一共一百张票,那么就是5个人卖一百张票。那么一号在卖第一张票的时候
    2号是不能和1号卖同一张票的(这涉及到线程安全问题)。那么为了解决这个冲突,1号卖第一张票的时候会将票上锁,其他线程无法访问而进入阻塞状态
    当1号卖出第一张票时解锁,其他线程卖剩下的99张。所以线程是有优先级的,但优先级也不是绝对,优先级只是一个cpu调度的概率大小。

    迅雷是多线程,但也是断点续传。比如一部电影有1个G,一共五个线程,那么第一个线程传输1到300kb,第二个线程从300kb到600kb,以此类推
    那么五个线程不会相互干扰,可以并发执行也不会阻塞。同学懂了吗

    评论

报告相同问题?

悬赏问题

  • ¥15 我这模型写的不对吗?为什么lingo解出来的下面影子价格这一溜少一个变量
  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波