java技术深入(一)——java多线程(一)——基本概念

来源:互联网 发布:mac给文件夹系统权限 编辑:程序博客网 时间:2024/06/07 09:52
1、线程:Thread
2、多线程:Multithreaded
3、进程和线程的区别: 进程拥有一套独立变量,线程间数据可共享。
4、Thread.sleep方法:静态方法,将当前线程暂停给定的毫秒。这个方法不会创建新线程。该方法抛InterruptedException异常。Interruption(
n. 中断;干扰;中断之事)
5、使用线程的意义:使用线程给其他任务提供机会——如果需要执行一个比较耗时的任务就需要使用独立线程。
6、Runnable接口:这个接口必须实现run方法,run方法一般用于放置异步任务(比如耗时代码)。
7、java线程实现的一般步骤:
     a、实现Runnable接口,MyRunnable implement Runnable,实现其中的run方法
     b、在run方法中放置异步任务
     c、由Runnable对象创建Thread对象,Runnable r = new MyRunnable(); Thread t = new Thread(r);
     d、启动线程,t.start();
start方法的调用将会立即返回,同时创建新线程异步地运行run方法里的代码。
另外,也可以直接通过继承Thread类的方法来定义一个线程,如下:
class Mythread extends Thread
{
    public void run()
    {
        //task code
    }

8、线程在中断(Interrupt)被终止,因此,在run方法内部,如果发生InterruptedException时,run方法将结束执行。
9、应该从运行机制上减少并发线程的数量。如果并发任务太多,不建议为每个任务创建一个线程,这样代价太大,这种情况下应优先考虑使用线程池。
10、不能直接调用Thread或者Runnable的run方法,这样只会同步地调用run里面的代码而不是新建一个线程,正确的做法是调用Thread.satrt方法。



     


0 0