精华内容
下载资源
问答
  • 前言QQ的窗口抖动功能我想大家应该使用过,今天给大家带来的就是用C结合windoww API来实现类似QQ窗口抖动的小知识,其实窗口的抖动的原理就是让它在不同的几个位置停顿一小下然后再来回移动.源码#include #include...

    前言

    11c21bae0cc160b00b4dc0be320d06ba.gif

    QQ的窗口抖动功能我想大家应该使用过,今天给大家带来的就是用C结合windoww API来实现类似QQ窗口抖动的小知识,其实窗口的抖动的原理就是让它在不同的几个位置停顿一小下然后再来回移动.

    源码

    #include #includeint main(void){    int time = 60; //休眠的时间,为60毫秒    int distance = 10; //移动了10像素    RECT rect; //RECT是一个矩形结构体,相当于保存了一个矩形的四条边的坐标    HWND window = NULL, oldwindow = NULL; //两个窗口句柄    int x, y, width, height; //用来保存窗口横纵坐标和宽度、高度的变量    int i;    //抖50次吧    for (i = 0; i < 10; i++) {        window = GetForegroundWindow(); //拿到活动窗口        if (window != oldwindow) {            //获取指定窗口的位置            GetWindowRect(window, &rect);            x = rect.left;            y = rect.top;            width = rect.right - x;            height = rect.bottom - y;            oldwindow = window;        }        MoveWindow(window, x - distance, y, width, height, TRUE); //移动窗口,向左移动了10像素,下同        Sleep(time);  //休眠time毫秒,线程休眠        MoveWindow(window, x - distance, y -distance, width, height, TRUE);        Sleep(time);        MoveWindow(window, x, y - distance, width, height, TRUE);        Sleep(time);        MoveWindow(window, x, y, width, height, TRUE);        Sleep(time);    }    return 0;}

    原理解析

    f0dd48bb8a813abad0828aacc11f1702.png

    原理无非就两点:停顿和移动,那我们来讲一下二者的具体实现,关于停顿我们用到了sleep函数,这里有一点简单提一下,sleep函数在windows和linux中是不一样的,除了头文件以外,windows中单位为毫秒且S要大写,而linux中为秒,我们这里默认的是windows中,就相当于调用了windows API函数,这就形成了停顿的效果!而窗口的移动同样还是调用windows中的API,包括获取句柄,移动位置等。总体来说抖动功能的实现思路是比较简单的的,代码量也不大,有兴趣的可以自己尝试一下。

    尾言

    0057191faa35aea2843b3412ebbb6034.png

    文章都是手打原创,每天最浅显的介绍C语言、C++,windows知识,喜欢我的文章就关注一波吧,可以看到最新更新和之前的文章哦。如果足下基础比较差,不妨关注下人人都可以学习的视频教程

    《C语言51课视频教程合集》

    《C++45课视频教程》

    通俗易懂,深入浅出,一个视频只讲一个知识点。视频不深奥,不需要钻研,在公交、在地铁、在厕所都可以观看,随时随地涨姿势

    展开全文
  • sleepsleep(0)的区别

    2020-05-26 10:16:56
    操作系统原理 操作系统中,CPU竞争有很多种策略。Unix系统使用的是时间片算法,而Windows则属于抢占式的。 在时间片算法中,所有的进程排成一个队列。操作系统按照他们的顺序,给每个进程分配一段时间,即该进程...

    操作系统原理

    操作系统中,CPU竞争有很多种策略。Unix系统使用的是时间片算法,而Windows则属于抢占式的。
    在时间片算法中,所有的进程排成一个队列。操作系统按照他们的顺序,给每个进程分配一段时间,即该进程允许运行的时间。如果在 时间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进程。如果进程在时间片结束前阻塞或结束,则CPU当即进行切换。调度程 序所要做的就是维护一张就绪进程列表,,当进程用完它的时间片后,它被移到队列的末尾。
    所谓抢占式操作系统,就是说如果一个进程得到了 CPU 时间,除非它自己放弃使用 CPU ,否则将完全霸占 CPU 。因此可以看出,在抢 占式操作系统中,操作系统假设所有的进程都是“人品很好”的,会主动退出 CPU 。在抢占式操作系统中,假设有若干进程,操作系统会根据他们的优先级、饥饿时间(已经多长时间没有使用过 CPU 了),给他们算出一 个总的优先级来。操作系统就会把 CPU 交给总优先级最高的这个进程。当进程执行完毕或者自己主动挂起后,操作系统就会重新计算一 次所有进程的总优先级,然后再挑一个优先级最高的把 CPU 控制权交给他。
    我们用分蛋糕的场景来描述这两种算法。假设有源源不断的蛋糕(源源不断的时间),一副刀叉(一个CPU),10个等待吃蛋糕的人(10 个进程)。
    如果是 Unix操作系统来负责分蛋糕,那么他会这样定规矩:每个人上来吃 1 分钟,时间到了换下一个。最后一个人吃完了就再从头开始。于是,不管这10个人是不是优先级不同、饥饿程度不同、饭量不同,每个人上来的时候都可以吃 1 分钟。当然,如果有人本来不太饿,或者饭量小,吃了30秒钟之后就吃饱了,那么他可以跟操作系统说:我已经吃饱了(挂起)。于是操作系统就会让下一个人接着来。
    如果是 Windows 操作系统来负责分蛋糕的,那么场面就很有意思了。他会这样定规矩:我会根据你们的优先级、饥饿程度去给你们每个人计算一个优先级。优先级最高的那个人,可以上来吃蛋糕——吃到你不想吃为止。等这个人吃完了,我再重新根据优先级、饥饿程度来计算每个人的优先级,然后再分给优先级最高的那个人。
    这样看来,这个场面就有意思了——可能有些人是PPMM,因此具有高优先级,于是她就可以经常来吃蛋糕。可能另外一个人是个丑男,而去很ws,所以优先级特别低,于是好半天了才轮到他一次(因为随着时间的推移,他会越来越饥饿,因此算出来的总优先级就会越来越高,因此总有一天会轮到他的)。而且,如果一不小心让一个大胖子得到了刀叉,因为他饭量大,可能他会霸占着蛋糕连续吃很久很久,导致旁边的人在那里咽口水。。。

    而且,还可能会有这种情况出现:操作系统现在计算出来的结果,5号PPMM总优先级最高,而且高出别人一大截。因此就叫5号来吃蛋糕。5号吃了一小会儿,觉得没那么饿了,于是说“我不吃了”(挂起)。因此操作系统就会重新计算所有人的优先级。因为5号刚刚吃过,因此她的饥饿程度变小了,于是总优先级变小了;而其他人因为多等了一会儿,饥饿程度都变大了,所以总优先级也变大了。不过这时候仍然有可能5号的优先级比别的都高,只不过现在只比其他的高一点点——但她仍然是总优先级最高的啊。因此操作系统就会说:5号mm上来吃蛋糕……(5号mm心里郁闷,这不刚吃过嘛……人家要减肥……谁叫你长那么漂亮,获得了那么高的优先级)。

    那么,Thread.Sleep 函数是干吗的呢?还用刚才的分蛋糕的场景来描述。上面的场景里面,5号MM在吃了一次蛋糕之后,觉得已经有8分饱了,她觉得在未来的半个小时之内都不想再来吃蛋糕了,那么她就会跟操作系统说:在未来的半个小时之内不要再叫我上来吃蛋糕了。这样,操作系统在随后的半个小时里面重新计算所有人总优先级的时候,就会忽略5号mm。Sleep函数就是干这事的,他告诉操作系统“在未来的多少毫秒内我不参与CPU竞争”。

    sleep(n)

    在线程没退出之前,线程有三个状态,就绪态,运行态,等待态。sleep(n)之所以在n秒内不会参与CPU竞争,是因为,当线程调用sleep(n)的时候,线程是由运行态转入等待态,线程被放入等待队列中,等待定时器n秒后的中断事件,当到达n秒计时后,线程才重新由等待态转入就绪态,被放入就绪队列中,等待队列中的线程是不参与cpu竞争的,只有就绪队列中的线程才会参与cpu竞争,所谓的cpu调度,就是根据一定的算法(优先级,FIFO等。。。),从就绪队列中选择一个线程来分配cpu时间。

    sleep(0)之所以马上回去参与cpu竞争,是因为调用sleep(0)后,因为0的原因,线程直接回到就绪队列,而非进入等待队列,只要进入就绪队列,那么它就参与cpu竞争

    Thread.Sleep(0) 并非是真的要线程挂起0毫秒,意义在于这次调用Thread.Sleep(0)的当前线程确实的被冻结了一下,让其他线程有机会优先执行。Thread.Sleep(0) 是你的线程暂时放弃cpu,也就是释放一些未用的时间片给其他线程或进程使用,就相当于一个让位动作。

    Thread th = new Thread(new ThreadStart(MainForm.StartSplash));
    th.Priority = ThreadPriority.AboveNormal;
    th.Start();
    Thread.Sleep(0);

    base.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint, true);
    this.Initialize();

    在线程中,调用sleep(0)可以释放cpu时间,让线程马上重新回到就绪队列而非等待队列,sleep(0)释放当前线程所剩余的时间片(如果有剩余的话),这样可以让操作系统切换其他线程来执行,提升效率。
    我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢?

    思考下面这两个问题

    假设现在是 2017-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2017-4-7 12:00:01.000 的时候,这个线程会 不会被唤醒?
    某人的代码中用了一句看似莫明其妙的话:Thread.Sleep(0) 。既然是 Sleep 0 毫秒,那么他跟去掉这句代码相比,有啥区别么?
    我们先回顾一下

    看完了 Thread.Sleep 的作用,我们再来想想文章开头的两个问题。
    对于第一个问题,答案是:不一定。因为你只是告诉操作系统:在未来的1000毫秒内我不想再参与到CPU竞争。那么1000毫秒过去之后,这时候也许另外一个线程正在使用CPU,那么这时候操作系统是不会重新分配CPU的,直到那个线程挂起或结束;况且,即使这个时候恰巧轮到操作系统进行CPU 分配,那么当前线程也不一定就是总优先级最高的那个,CPU还是可能被其他线程抢占去。与此相似的,Thread有个Resume函数,是用来唤醒挂起的线程的。好像上面所说的一样,这个函数只是“告诉操作系统我从现在起开始参与CPU竞争了”,这个函数的调用并不能马上使得这个线程获得CPU控制权。
    对于第二个问题,答案是:有,而且区别很明显。假设我们刚才的分蛋糕场景里面,有另外一个PPMM 7号,她的优先级也非常非常高(因为非常非常漂亮),所以操作系统总是会叫道她来吃蛋糕。而且,7号也非常喜欢吃蛋糕,而且饭量也很大。不过,7号人品很好,她很善良,她没吃几口就会想:如果现在有别人比我更需要吃蛋糕,那么我就让给他。因此,她可以每吃几口就跟操作系统说:我们来重新计算一下所有人的总优先级吧。不过,操作系统不接受这个建议——因为操作系统不提供这个接口。于是7号mm就换了个说法:“在未来的0毫秒之内不要再叫我上来吃蛋糕了”。这个指令操作系统是接受的,于是此时操作系统就会重新计算大家的总优先级——注意这个时候是连7号一起计算的,因为“0毫秒已经过去了”嘛。因此如果没有比7号更需要吃蛋糕的人出现,那么下一次7号还是会被叫上来吃蛋糕。
    因此,Thread.Sleep(0)的作用,就是“触发操作系统立刻重新进行一次CPU竞争”。竞争的结果也许是当前线程仍然获得CPU控制权,也许会换成别的线程获得CPU控制权。这也是我们在大循环里面经常会写一句Thread.Sleep(0) ,因为这样就给了其他线程比如Paint线程获得CPU控制权的权力,这样界面就不会假死在那里。
    末了说明一下,虽然上面提到说“除非它自己放弃使用 CPU ,否则将完全霸占 CPU”,但这个行为仍然是受到制约的——操作系统会监控你霸占CPU的情况,如果发现某个线程长时间霸占CPU,会强制使这个线程挂起,因此在实际上不会出现“一个线程一直霸占着 CPU 不放”的情况。至于我们的大循环造成程序假死,并不是因为这个线程一直在霸占着CPU。实际上在这段时间操作系统已经进行过多次CPU竞争了,只不过其他线程在获得CPU控制权之后很短时间内马上就退出了,于是就又轮到了这个线程继续执行循环,于是就又用了很久才被操作系统强制挂起。。。因此反应到界面上,看起来就好像这个线程一直在霸占着CPU一样。
    末了再说明一下,文中线程、进程有点混乱,其实在Windows原理层面,CPU竞争都是线程级的,本文中把这里的进程、线程看成同一个东西就好了。

    问题:主动的放弃运行让系统调度的意义是什么呢?

    为了等待资源、事件,那么你需要进入等待队列。如果你已经拥有运行所需资源,却让系统调度,这是资源的浪费,并且调度也是要浪费资源的

    解释:对的,你要等待资源,你确实需要排队,假如AB两个线程为合作关系,A线程处理一些原始数据,数据处理到一定程度,交给B线程处理,在A处理原始数据的时候,B也要做一些准备工作,所以,AB是并发的,但是B做好准备之后,需要等待A处理好那些数据,接过A的数据,继续处理,因此,这个等待,如果A不使用信号或者等待条件来通知B的话,那么B必须一直轮询,查看A是否已完成,B线程所做的这个轮询是否会一直占用CPU来做无用的循环查看呢?因此B这个时候占用的cpu时间片做的是无用功,因此,这里sleep(0)就有作用,当B查看A没处理完数据的时候,B马上sleep(0)交出B的时间片,让操作系统调度A来运行(假设只有AB两个线程),那么这个时候,A就会得到充分的时间来处理它的数据。

    原文:https://blog.csdn.net/qiaoquan3/article/details/56281092/

    展开全文
  • 直到看到了这一篇参考文章,这篇文章形象的解释了Unix和Windows下的线程时间分配机制,并介绍了Thread.Sleep()的原理。下面是我自己的学习总结,以便于以后查看。 Unix和Windows下的时间分配机制 Unix

    JAVA或C#中Thread.Sleep()的使用

    在使用C#写界面的过程中,一直有个疑问,线程的执行时间分配机制是如何的?Thread.Sleep()的实现原理是什么?
    直到看到了这一篇参考文章,这篇文章形象的解释了Unix和Windows下的线程时间分配机制,并介绍了Thread.Sleep()的原理。

    下面是我自己的学习总结,以便于以后查看。

    • Unix和Windows下的时间分配机制
      Unix:CPU使用时间片算法给进程分配时间,所有进程排成一个队列,CPU按顺序给每个进程分配时间,当某一个进程的时间片结束后还在运行,CPU会挂起该进程,并执行下一个进程。如果时间片结束前进程就阻塞或者结束了,CPU会立即执行下一个进程。每个用完时间片的进程会移动到队列的最后一位。
      Windows:CPU时间分配属于抢占式,当某个进程获得CPU时间,除非自己退出,则会霸占CPU时间。此时CPU是默认每个进程会自动退出的。每一个进程均有一个优先级,饥饿程度和总优先级,总优先级由进程本身的优先级和饥饿程度决定,进程越久没有获得CPU时间,其饥饿程度就会越高。CPU的执行时间由诸多进程竞争得到,每次竞争时的总优先级最高的进程获得CPU时间。在当前执行进程挂起或退出时,会触发竞争
      举个例子,还是使用参考文章里面的例子:
      假设有源源不断的蛋糕(CPU时间),一副刀叉(一个CPU),十个吃蛋糕的人(十个进程)。
      在Unix下会有这样的情况:CPU告诉每个人(进程),你们每个人只有1分钟的时间吃蛋糕,排着队来吃,吃完的人后面去排着队接着吃。所以这种情况下每个都是固定的1分钟时间来吃蛋糕。当然也有这样的情况,某个人吃了30秒吃饱了,然后他就会说我吃饱了(挂起),CPU就会让下一个人来吃。
      而在Windows下情况则不同了:CPU说你们每个人有个优先级、饥饿程度,我会按照这些给你们排个总优先级,总优先级最高的来吃蛋糕,吃到你不想吃为止。所以就会有这样的情况,某个人是MM,那她的优先级就高,因此总优先级就高,如果她的总优先级最高,那她就会来吃蛋糕,当她吃饱了的时候,她就会说我吃饱了(挂起)。那CPU就会说你们现在再来比一比总优先级,此时MM因为吃了蛋糕,饥饿程度变低了,总优先级就降低了,其他人没吃到蛋糕,饥饿程度增加,总优先级也增加了。但是此时有两种情况,第一种情况是MM的总优先级不是最高了,当然就由别人去吃蛋糕了,第二种情况是MM的总优先级依然是最高的,那这次竞争过后还是MM去吃蛋糕,这下MM不乐意了,我都吃饱了怎么还吃啊。所以第二种情况就要用到Thread.Sleep()了。
    • Thread.Sleep()的作用和使用
      Thread.Sleep()这个方法的作用是告诉CPU,在以后一段时间内我不参与竞争。比如Thread.Sleep(1000)就是说在以后的1S内,如果有竞争的话,不会把该进程算进来。
      所以在上面的场景中,当MM吃饱了过后,为了避免下次竞争再次获得吃蛋糕的机会,吃太多蛋糕吃胖了自己,那她就可以告诉CPU,在后面的一小时内我不想吃蛋糕了(Thread.Sleep()),那么在后面一小时内,MM都不会参与竞争。那么在准确的一小时后,MM能不能准时再吃到蛋糕呢?这个答案是不确定的,因为在一小时后,可能别人正在吃蛋糕,还没有竞争开始,因此MM只能先等着别人吃饱(挂起);也有可能在一小时后,刚好别人吃饱了,又要竞争了,但是MM的总优先级此时不是最高的,因此没有获得吃蛋糕的机会,MM还是要等待;当然最后一种可能就是,一小时后刚好有竞争,MM的总优先级又是最高的,那MM就能顺利的吃到蛋糕了。
      还有一个问题就是,Thread.Sleep(0)的使用有没有必要。
      这个答案是肯定的,有Thread.Sleep(0)和没有是有很大区别的。
      假设一个MM很善良,吃蛋糕的时候想,其他人没吃到蛋糕太可怜了,让其他人来吃吧,那她就告诉CPU:我们再来竞争一下吧,CPU说:不行,没有这种操作!
      所以她只好换一种说法:在未来0毫秒内我不参与竞争(Thread.Sleep(0))
      此时,CPU就会说:好吧,我们来比一下总优先级吧!
      注意,此时MM也是参与竞争的,因为0毫秒已经过去了!
      因此,Thread.Sleep(0)的作用就是触发操作系统立刻重新开始一次竞争!
      另外,虽然上面提到说“除非自己退出,则会霸占CPU时间”。但这个行为仍然是受到制约的——操作系统会监控你霸占CPU的情况,如果发现某个线程长时间霸占CPU,会强制使这个线程挂起。
    展开全文
  • windowsSleep函数,睡眠线程指定毫秒数,可以用来做毫秒延时。 对于微秒延时,没有一个现成的函数,但是可以通过 QueryPerformanceFrequency QueryPerformanceCounter 来间接实现。原理就是用循环查询的方式不断...
    windows的Sleep函数,睡眠线程指定毫秒数,可以用来做毫秒延时。
    对于微秒延时,没有一个现成的函数,但是可以通过
    QueryPerformanceFrequency
    QueryPerformanceCounter

    来间接实现。原理就是用循环查询的方式不断调用QueryPerformanceCounter(在Winbase.h中)

    LARGE_INTEGER freq;  
    LARGE_INTEGER start, end;  
    QueryPerformanceFrequency(&freq);  
    unsigned int us = 100000;  
    LONGLONG count = (us * freq.QuadPart) / (1000 * 1000);  
    QueryPerformanceCounter(&start);  
    count = count + startQuadPart ;  
    do  
    {  
       QueryPerformanceCounter(&end);  
    }while(end.QuadPart< count);  
    printf("us %u, elaps %u ms\r\n", us, tpend-tpstart); 

    展开全文
  • 本文实例为大家分享了C语言 QQ聊天界面抖动的具体代码,供大家参考,具体内容如下 图片中的窗口抖动功能大家应该都用过,今天给大家带来的就是用C来实现类似QQ窗口抖动的小练习,其实窗口的抖动的原理就是让它在不同...
  • Windows CE 作为一个广泛应用于移动便携设备上的操作系统,提供了完善的电源管理的功能。其中,休眠唤醒便是一个重要的功能。那么,休眠唤醒是什么原理呢,这首先要从硬件说起。这里呢,我就拿用自己得最熟练的三星...
  • windowsSleep函数,睡眠线程指定毫秒数,可以用来做毫秒延时。 对于微秒延时,没有一个现成的函数,但是可以通过 QueryPerformanceFrequency QueryPerformanceCounter 来间接实现。原理就是用循环查询的方式...
  • Windows CE 休眠唤醒全面...那么,休眠唤醒是什么原理呢,这首先要从硬件说起。这里呢,我就拿用自己得最熟练的三星平台的2440 CPU为例来和大家探讨一下。 首先看2440 Datasheet 里关于休眠部分的描述 SLEEP Mod...
  • Windows CE 作为一个广泛应用于移动便携设备上的操作系统,提供了完善的电源管理的功能。其中,休眠唤醒便是一个重要的功能。那么,休眠唤醒是什么原理呢,这首先要从硬件说起。这里呢,我就拿用自己得最熟练的三星...
  • 编译原理、计算机原理的基本内容,我不想重复了。放上些内容,主要是关于理论与实际间的差距。 - 线程间共享变量应该在声明时加入volatile关键字 如果不加会怎样?看以下代码:intptr_t a = 1; // Reset by...
  • VC程序运行时间函数

    2019-09-25 20:23:35
    1:Sleep函数 使用:  sleep(1000) 在Windows和Linux下1000代表的含义并不相同,...原理sleep函数是使调用sleep函数的线程休眠,线程主动放弃时间片。当经过指定的时间间隔后,再启动线程,继续执行代码。...
  •  sleep(1000),在Windows和Linux下1000代表的含义并不相同,Windows下的表示1000毫秒,也就是1秒钟;  Linux下表示1000秒,Linux下使用毫秒级别的函数可以使用usleep。  原理sleep函数是使调用sleep函数的...
  • 基本原理很简单,这里就不说明了,直接上代码!!! // Sleep Sort -- Based on C++ #include <windows.h> #include <iostream> #include <tchar.h> using namespace std; VOID Sleep_Sort(INT*...
  • 如果在Windows平台下使用性能跟踪的话,其原理是基于 Windows API函数GetSystemTimeAsFileTime 实现的。关于API函数GetSystemTimeAsFileTime 的精度讨论,网上众说纷纭,根据我自己的经验,个人认为在毫秒级的话,这...
  • 掌握SQL注入原理 了解SQL注入常用注释字符 本题使用的工具 sqlmap,hackbar 环境 物理机:windows10 虚拟机:kali 时间盲注 1 判断是否存在盲注 可以发现判断有多种方式,只要能保证sleep()执行,就...
  • 依赖可信进程注入原理是利用Windows 系统中Services.exe这个权限较高的进程,首先将a.dll远线程注入到Services.exe中,再利用a.dll将b.dll远线程注入到待注入进程中。其实就是远线程注入的增强版 方法: 1.把a.dll远...
  • 我们先回顾一下操作系统原理。操作系统中,CPU竞争有很多种策略。Unix系统使用的是时间片算法,而Windows则属于抢占式的。 在时间片算法中,所有的进程排成一个队列。操作系统按照他们的顺序,给每个进程分配一段...
  • C)sleep 命令将进程挂起 D)kill 命令杀死进程 E)quit命令退出 二、实验内容 根据教师指定的实验课题,完成设计、编码、测试工作。 实验三 虚拟存储器 一、目的和要求 1. 实验目的 (1)掌握先进先出页面...
  • 功能 通过爬取新浪微博个人收藏,一键清除被删除的,失效的微博转发/微博收藏 特点 无需手动设置user_id和cookie,一键清除,可后台自动运行...如果需要追求快速清空的,可以修改代码中的time.sleep(x)x的值,或者删除
  • 无法登陆IAAA

    2020-12-30 20:16:43
    <p>System infomation: [MacOS 10.15.5 ] ( Windows10 64bit, MacOS 10.13.6, Ubuntu 18.04.3 amd64, ... ) Python version: [ 3.7.6] ( run <code>python3 --version</code> ) AutoElective version: [ 3.0.9] ( ...
  • 很多程序员用惯了windows可能对Linux并不熟悉,但是大家要知道绝大多数的服务器都是部署在Linux上面的,不懂Linux就说自己懂编程,岂不是很搞笑?连自己写出来的代码运行的平台都不了解,怎么可以。即使不是运维专员...
  • System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control ; tb.Text = String.Empty ; } } 8.请编程实现一个冒泡排序算法? 答: int [] array = new int ; int temp = 0 ; for (int i =...
  • SmartRoute 是基于Dotnet Core设计的可运行在linux和windows下的服务通讯组件,其设计理念是去中心化和零配置即可实现服务通讯集群。SmartRoute是通过消息订阅的机制实现服务与服务之间的通讯,它可以让广播网段内...
  • C#浏览器编程,学习使用

    热门讨论 2010-08-04 10:04:05
    4.1 浏览器工作原理(老师讲解1学时,学生理解1学时) 浏览器工作原理如图4-1所示。 图4-1 浏览器工作原理 (1) 浏览器分析超链指向页面的 URL。 (2) 浏览器向 DNS 请求解析 www.tsinghua.edu.cn 的 IP 地址。 (3...
  • 安装docker后的 windows,linux,mac Docker版本: 18.02.0+ 检查是否有docker-compose命令(安装docker后默认会有,否则请手动安装) 注:因v0.3.0-rc不再支持phantom,如需使用phantom,请查看之前的分支。强烈建议...
  • Ubuntu权威指南(2/2)

    2010-12-05 09:01:53
    8.8.3 sleep命令 217 8.8.4 shift命令 217 8.8.5 getopt命令 218 8.8.6 getopts命令 219 8.9 循环语句的I/O重定向 221 8.9.1 while循环的I/O重定向 221 8.9.2 until循环的I/O重定向 222 8.9.3 for循环的I/O重定向 ...

空空如也

空空如也

1 2
收藏数 37
精华内容 14
关键字:

sleep原理windows