zoukankan      html  css  js  c++  java
  • <C#>面试

    近来,我有去面试,常碰一些题:

    1、Sleep()和Wait()区别?

    答:一、两个方法来自不同的类,Sleep()来自Thread类,是Thread的静态类方法,Wait()来自Object类;

    二、最主要是Sleep()没有释放锁,而Wait()释放了锁;Sleep不出让系统资源;而wait是进入线程等待池等待;wait没有时间限制,需要等待notify/notifyAll唤醒,才会进入就绪队列等待系统资源,Sleep(milliseconds)可以用时间指定唤醒过来,时间没到还可以调用interrupt()强行打断;Thread.Sleep(0)的作用是“触发操作系统重新进行一次CPU竞争”;

    三、Sleep()可在任一地方使用,wait()及notify和notifyall只能在同步控制范围使用;

    四、Sleep()必须捕获异常,而wait(),notify和notifyAll不需要捕获异常。

    2、Start()和Run()在线程中区别?

    答:start()用来启动线程,线程处于就绪状态,然后通过run()来完成运行操作;

    run为线程体,包含执行的内容,run方法结束,线程就要终止;

    run方法当普通方法调用,程序依然要顺序执行,这时只是一个方法调用,程序依然只有主线程一个线程。

  • 相关阅读:
    用SecureCRT来上传和下载文件
    Linux指令--tar,gzip
    Linux指令--文件和目录属性
    Linux指令--which,whereis,locate,find
    Linux指令--head,tail
    Linux指令--more,less
    Linux指令--nl
    Linux指令--cat,tac
    Linux指令--touch
    Linux指令--cp
  • 原文地址:https://www.cnblogs.com/virgil/p/3830588.html
Copyright © 2011-2022 走看看