start_startx - CSDN
精华内容
参与话题
  • start()和run()方法的区别

    万次阅读 2011-11-13 14:00:31
    Java 线程一直是一个比较容易困扰的地方,首先,我们来认识下怎样生存线程。 认识 Thread 和 Runnable java中实现多线程有两种途径:继承Thread类或者实现Runnable接口。Runnable是接口,建议用接口的方式生成...
    
    

    Java 线程一直是一个比较容易困扰的地方,首先,我们来认识下怎样生存线程。
    认识 Thread 和 Runnable

    java中实现多线程有两种途径:继承Thread类或者实现Runnable接口。Runnable是接口,建议用接口的方式生成线程,因为接口可以实现多继承,况且Runnable只有一个run方法,很适合继承。在使用Thread的时候只需继承Thread,并且new一个实例出来,调用 start()方法即可以启动一个线程。

    Thread Test = new Thread();

    Test.start();

    在使用Runnable的时候需要先new一个实现Runnable的实例,之后启动Thread即可。

    Test impelements Runnable;

    Test t = new Test();

    Thread test = new Thread(t);

    test.start();

    总结:Thread和Runnable是实现java多线程的2种方式,runable是接口,thread是类,建议使用runable实现 java多线程,不管如何,最终都需要通过thread.start()来使线程处于可运行状态。
    下面我们来谈谈本文重点,start()和run()方法的区别
    1) start:

    用start方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码。通过调用Thread类的 start()方法来启动一个线程,这时此线程处于就绪(可运行)状态,并没有运行,一旦得到cpu时间片,就开始执行run()方法,这里方法 run()称为线程体,它包含了要执行的这个线程的内容,Run方法运行结束,此线程随即终止。

    2) run:

    run()方法只是类的一个普通方法而已,如果直接调用Run方法,程序中依然只有主线程这一个线程,其程序执行路径还是只有一条,还是要顺序执行,还是要等待run方法体执行完毕后才可继续执行下面的代码,这样就没有达到写线程的目的。

    总结:调用start方法方可启动线程,而run方法只是thread的一个普通方法调用,还是在主线程里执行。

    这两个方法应该都比较熟悉,把需要并行处理的代码放在run()方法中,start()方法启动线程将自动调用 run()方法,这是由jvm的内存机制规定的。并且run()方法必须是public访问权限,返回值类型为void.

    展开全文
  • 1.汇编语言中的start有什么用? start就是一个标号,标志程序的入口而已,程序加载到内存之后CS:IP会指向这个标号,从START指向的指令开始运行 这个标号不一定是START,你也可以用MAIN,但在程序的最后要用END MAIN来提示...

    1.汇编语言中的start有什么用?

    start就是一个标号,标志程序的入口而已,程序加载到内存之后CS:IP会指向这个标号,从START指向的指令开始运行
    这个标号不一定是START,你也可以用MAIN,但在程序的最后要用END MAIN来提示程序结束
    START也不一定在代码段的最前面,它的前面是可以有指令或数据的
    例子(没有用start,用了main)(在代码段里放置变量是十分不规范的,这里只是为了举例):
    assume cs:code
    code segment
    a db 0
    b db 0
    main:
    mov ax,0
    mov ax,4C00H
    int 21H
    code ends
    end main

    当然,start和main在汇编代码中也可以同时存在,看具体的需要而定。

    2.汇编语言中START和MAIN有区别么?
    没有区别,都是标号。叫什么都行

    3.下面这段的来源:https://blog.csdn.net/lijun5635/article/details/7918392
    ·········································································································
    start: 作为汇编程序的一个标号,定义了程序的入口,既程序从start:处开始执行。
    若程序的第一条指令就是程序的入口,则start可以缺省。

    start 使用结构如下:

    start: \可以定义程序的入口 ,也可以仅仅作为一个标号来用

    end start \定义程序段结束 (作为标号时,可以没有对应的end start)

    其中 start 可以用其他字符代替,但是对应的end start 中的start也必须用同字符代替。
    若第一个start缺省,则end start中的 start 也必须去掉。
    ········································································································
    自己最近做汇编实验二时就发现,start可以仅仅作为一个标号来用,例如:jmp start 就表示跳到start指示的地方去,此时,程序中是可以没有end start的。书上也没有end start,但有end main

    最后到底是end start还是end main,要看程序中的汇编指令倒底是从哪儿开始执行的,一般看assume伪指令下面的一行的main:还是start:就可以。

    展开全文
  • 批处理命令之Start的详细用法

    万次阅读 2008-01-17 15:56:00
    Start启动单独的“命令提示符”窗口来运行指定程序或命令。如果在没有参数的情况下使用,start 将打开第二个命令提示符窗口。语法start ["title"] [/dPath] [/i] [/min] [/max] [{/separate | /shared}] [{/low | /...
    Start
    启动单独的“命令提示符”窗口来运行指定程序或命令。如果在没有参数的情况下使用,start 将打开第二个命令提示符窗口。

    语法
    start ["title"] [/dPath] [/i] [/min] [/max] [{/separate | /shared}] [{/low | /normal | /high | /realtime | /abovenormal | belownormal}] [/wait] [/b] [FileName] [parameters]

    参数
    "title" 指定在“命令提示符”窗口标题栏中显示的标题。
    /dpatch 指定启动目录。
    /i 将 Cmd.exe 启动环境传送到新的“命令提示符”窗口。
    /min 启动新的最小化窗口。
    /max 启动新的最大化窗口。
    /separate 在单独的内存空间启动 16 位程序。
    /shared 在共享的内存空间启动 16 位程序。
    /low 以空闲优先级启动应用程序。
    /normal 以一般优先级启动应用程序。
    /high 以高优先级启动应用程序。
    /realtime 以实时优先级启动应用程序。
    /abovenormal 以超出常规优先级的方式启动应用程序。
    /belownormal 以低出常规优先级的方式启动应用程序。
    /wait 启动应用程序,并等待其结束。
    /b 启动应用程序时不必打开新的“命令提示符”窗口。除非应用程序启用 CTRL+C,否则将忽略 CTRL+C 操作。使用 CTRL+BREAK 中断应用程序。
    非执行文件只要将文件名作为命令键入,即可通过其文件关联运行该文件。有关使用 assoc 和 ftype 在命令脚本中创建这些关联的详细信息,请参阅“”。
    在运行的命令的第一个标记为“CMD”字符串但不包括扩展名或路径限定符时,“CMD”将被 COMSPEC 变量的值取代。这样可以防止用户从当前目录选取 cmd。
    当您运行 32 位图形用户界面 (GUI) 应用程序时,cmd 不会在返回到命令提示符之前等待应用程序退出。如果从命令脚本运行应用程序,则不会发生这种新情况。在运行的命令中第一个符号不包括扩展名的情况下,Cmd.exe 使用 PATHEXT 环境变量的值确定要查找的扩展名以及查找顺序。PATHEXT 变量的默认值为:COM;.EXE;.BAT;.CMD(语法与 PATH 变量相同,使用分号分开不同元素)。当您搜索可执行文件且在任何扩展名上都没有匹配项时,start 将搜索目录名。

    具体例子:
    说明:如果你所在程序的路径中带有空格,那么必须用“”把路径括起来,否则系统会提示找不到XX文件,另外,在运行某些程序时,需在路径的前面加一对空白的“”,表示创建一个空白的窗口,它指向的程序是XXXXXXXX。还有就是别忘了空格。

    当我想运行位于“D:/draw/”的“photoshop.exe”使,应该使用以下命令:
    start “”“D:/draw/photoshop.exe” 表示以常规窗口运行程序

    如果想让程序以最大化窗口运行,则使用以下命令:

    start /max“”“D:/draw/photoshop.exe” 表示以最大化窗口运行程序

    最小化这是这样:

    start /min "" "D:/draw/photoshop.exe" 表示以最小化窗口运行程序

    等待某个程序允许完毕,也就是窗口关闭后,再打开下一个程序这可以这样:

    start /w "" "D:/draw/photoshop.exe"
    start "" cmd.exe

     
    展开全文
  • start()和run()的区别

    万次阅读 2019-04-02 10:59:42
    本方法通过实现runnable接口来实现多线程,刚开始被run()和start()搞糊涂了,后来看了很多博客,稍有感悟。所以写一下自己的理解。start()方法让一个线程进入就绪队列等待分配cpu,分到cpu后才调用实现的run()方法...

    本方法通过实现runnable接口来实现多线程,刚开始被run()和start()搞糊涂了,后来看了很多博客,稍有感悟。所以写一下自己的理解。start()方法让一个线程进入就绪队列等待分配cpu,分到cpu后才调用实现的run()方法。

    若不使用start()直接在main方法中直接使用run()方法, 比如下面程序的前两种情况,因为没有开辟新的线程,所以当前线程是main线程,而第三种情况,开辟了一个新线程且线程名我们设置为了“新线程”,在cpu执行新线程时会调用run()方法。

    package javaNewThread;
    public class test1main {
    	public static void main(String[] args) {
    		runnable runner=new runnable();
    		Thread th1= new Thread(runner,"新线程");
    		
    //区分以下三种情况
            
            //1
    		System.out.println("th1.run():");
    		th1.run();
    		//2
    		System.out.println("runner.run():");
    		runner.run();
    		//3
    		System.out.println("th1.start():");
    		th1.start();
    	}
    }
    public class runnable implements Runnable{
    	private int food=10;
    	public void run() {
    		for(int i=0;i<3;i++) {
    			System.out.println("线程名:"+Thread.currentThread().getName()+" food:"+food--);
    		}
    	}
    }

    结果:

    th1.run():
    线程名:main food:10
    线程名:main food:9
    线程名:main food:8
    runner.run():
    线程名:main food:7
    线程名:main food:6
    线程名:main food:5
    th1.start():
    线程名:新线程 food:4
    线程名:新线程 food:3
    线程名:新线程 food:2
    

    ------------交换123的顺序,查看运行结果

    接下来我把3放到1和2前面执行,发现新线程的run()还是最后执行,说明它在就绪队列中排队,并没有这么快执行。而当前正在执行mian线程,每个线程执行都有一个时间片,main线程时间片还没结束,所以23先执行了。等main线程时间片用完,再执行新线程。

    package javaNewThread;
    public class test1main {
    	public static void main(String[] args) {
    		runnable runner=new runnable();
    		Thread th1= new Thread(runner,"新线程");
    		
            //1,原来的3
    		System.out.println("th1.start():");
    		th1.start();
    	    //2
    		System.out.println("th1.run():");
    		th1.run();
    		//3
    		System.out.println("runner.run():");
    		runner.run();
    	}
    }
    package javaNewThread;
    
    public class runnable implements Runnable{
    	private int food=10;
    	public void run() {
    		for(int i=0;i<3;i++) {
    			System.out.println("线程名:"+Thread.currentThread().getName()+" food:"+food--);
    		}
    	}
    }
    

    运行结果:

    th1.start():
    th1.run():
    线程名:main food:10
    线程名:main food:9
    线程名:main food:8
    runner.run():
    线程名:main food:7
    线程名:main food:6
    线程名:main food:5
    线程名:新线程 food:4
    线程名:新线程 food:3
    线程名:新线程 food:2
    

     

    展开全文
  • 关于程序的入口函数(main _start...)

    千次阅读 2018-11-26 12:30:33
    参照来源:...ld有多种方法设置进程入口地址, 按一下顺序: (编号越前, 优先级越高) 1, ld命令行的-e选项 2, 连接脚本的ENTRY(SYMBOL)命令  eg. ENTRY(_start) /* Entry point of applicati...
  • start.s分析

    2018-12-25 15:37:08
    可以参考 : http://blog.csdn.net/bluesummerg/article/details/5940452 (强大的反汇编) ... // 本文学习目标: 微观上,对此start.S的每一行,都有了基本的了解 ...
  • StartActivity的2种用法

    万次阅读 2019-03-12 15:50:24
    startActivity有2种用法 1.显示调用。通过指明ComponentName,显示调用Activity,若 Intent intent = newIntent(CustomerService.this, DetailInfo.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); ...
  • cmd命令行 start命令

    万次阅读 2014-03-18 21:58:58
    开始,运行,输入cmd,打开命令窗口:再输入以下命令: ...cmd下start命令的用法例如:start /min /b "" path\filename 可以让某个程序在打开的时候是以最小化方式运行.START命令简介  输入START然后分别输入以
  • start()方法和run()方法

    万次阅读 2018-01-11 09:18:39
    继线程的创建和启动,这篇博文主要讨论一下start()和run()这两个方法。 1. run()方法 在线程的创建和启动的总结中有说过:根据java api,Thread类本身也是实现了Runnable接口,有: public class Thread ...
  • oracle中的Start With关键字

    万次阅读 2018-09-04 16:57:45
    在oracle中遇到了Start With查询语句,经过查询资料了解现在总结一下. 参考文章:https://www.cnblogs.com/zyzdisciple/p/7873584.html 首先我们可以新建一个demo表做测试 create table DEMO ( ID varchar2(10) ...
  • 最近弄新项目,之前都是用tomcat7,这次换了8,配置完之后每次启动都会报错,网上大多数都是说web.xml里的错,可我是新项目,web.xml中就那几行代码看了几十遍确定不是web.xml中的问题,找了一整天最后在篇很简单的...
  • Java并发编程 相对于传统的单线程,多线程能够在操作系统多核配置的基础上,能够更好地利用服务器的多个CPU资源,使程序运行起来更加高效。Java通过提供对多线程的支持来在一个进程内并发执行多个线程,每个线程都...
  • 解决方法 1.有可能是端口冲突了,可以在任务管理器关闭java进程 这样就好了
  • Server Tomcat v8.5 Server at localhost failed to start. 或者The required Server component failed to start so Tomcat is unable to start 问题。 我是这么解决的,给大家提供一个参考: 双击...
  • 本节主要讨论在通过npm start 时,出现“npm ERR! missing script: start“错误 出现这个错误的常见原因是 在package.json中没有配置start 在通过truffle创建项目时,可以通过  1. truffle unbox webpack ...
  • NET START 服务名无效,拒绝访问

    万次阅读 2012-03-21 21:50:33
    1、net start "SQL Server(SQL2008)" 少空格,报服务名无效 2、net start mssqlserver ,报错:服务名无效,原因:数据库安装时命名了实例名而不是默认实例名 3、正确写法:net start "SQL Server (SQL2008)" 4、...
  • 日常开发中,php.ini配置session.auto_start=0...session.auto_start 开启就自动完成了session_start()区别就在于在用SESSION前是否需要session_start();当session.auto_start = on时,执行 session_start() 将产生
  • HP SmartStart CD ISO下载地址

    万次阅读 2012-01-14 12:26:31
    需重装一台HP服务器,手头上却无合适SmartStart光盘。上HP网站搜了一把,找到下载地址,记下以备日后之需。 注意:为顺利找到下载地址,在HP网站搜的时候要”Software & Driver Downloads”页面的产品中输入smart...
  • pageHelper.startPage(m,n)的用法

    万次阅读 2019-06-21 09:48:24
    pageHelper.startPage(m,n),只对最近的一次查询有效,之前不是很理解什么是最近的一次查询。 原来mapper代理对象.selectXXX(),这个方法就是查询。 比如说: pageHelper.startPage(1,30); List<Item> ...
  • 这几天遇到了一个问题,新买的笔记本在公司老是上不去网,ping网关,时通时不通,丢包率大约在1%~5%左右,然后我怀疑是网卡驱动或是系统的问题,都重装了,问题仍然没有解决,然后我把笔记本拿回家去,家里是电信的...
1 2 3 4 5 ... 20
收藏数 3,471,007
精华内容 1,388,402
关键字:

start