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

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方法。



     

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值