线程的执行方法主要有两种:继承Thread类和实现Runnable接口。
继承Thread类时,需重写run()方法,在该方法中定义线程的执行逻辑,然后创建该类的实例并调用start()方法启动线程,start()方法会自动调用run()方法。
实现Runnable接口,需实现run()方法,然后将该接口的实现类实例作为参数传递给Thread类的构造函数创建线程对象,再调用start()方法启动线程。相比继承Thread类,实现Runnable接口更灵活,可避免单继承的局限,方便多个线程共享同一个资源。
12.线程顺序,多个线程怎么指定执行完了执行相应的线程?
线程的调度顺序是由cpu决定的,你真的想人为控制的话,也可以,使用join,你在哪个线程上调用join先让哪个线程先执行
怎么让线程能够异步的执行呢?
没分? 给你个思路!
从主线程 new Thread 开一个支线程
在支线程中 用delegate (委托)执行要操作的方法,
用委托BeginInvoke执行改委托,得到一个IAsyncResult的结果
并一直判断 IAsyncResult的IsCompleted(表示异步是否执行完成)
若执行完成,用EndInvoke 得到异步操作的结果,再用主线程上的Invoke 执行显示结果
(应为主线程,只做了一件事,开了一支线程。异步调用 和等待异步的结束,都是支线程做的,这样主线程不会假死,当主线程要显示结果了,直接操作是又问题的,应为跨了线程!只能用Invoke )
线程的执行体是什么方法??
就是重写public void run()方法
方法体就是你想在线程中执行的语句
实现一个线程的执行有几种方法
让一个线程处于就绪状态,是用start方法,但是,这并不代表,该线程正在执行,如果想让一个线程处于执行状态,那么应该设置该线程的优先级比在处理机上的线程高,然后在用start来开始