线程基础(1)

1.线程和进程
  进程:就是一个程序,比如你打开了QQ、酷狗音乐、快播.....
  线程:就是任务,比如你和别人用QQ和别人聊天,用酷狗听音乐,用快播看电影.....
关于单线程和多线程,我听过最俗气的也是最容易理解的就是:“你扫一条大马路,你自己扫叫单线程,你叫别人来帮忙分段扫叫多线程”。一个QQ程序可以同时和很多人聊QQ,一个浏览器可以同是浏览很多网页,但是一个酷狗音乐只能同是播放一首歌,只有当前这首结束或者被中断才可能播放下一首。

2.创建一个简单的线程对象
  百度上提供了两种通用的创建简单线程的方法,一种是实现Runnable接口:
  ①实现Runnable接口MyRunnable
  ②重写run函数
  ③实例化一个MyRunnable对象mr,一个Thread对象t,并将mr传入t中

/**
* 用实现Runnable方法创建线程类
* @author Admin
*
*/
public class PointRunnable implements Runnable{
public String name ;
public PointRunnable(String name){
this.name = name ;
}
/**
* 重写run函数
*/
public void run(){
System.out.println("实现Runnable类型的"+name+"start!");
try{
Thread.sleep(500);
}catch(Exception e){
}
System.out.println("休息了500ms之后的"+name);
}
public static void main(String[] arg){
//使用实现接口Runnable创建线程对象
PointRunnable pr1 = new PointRunnable("Thread1 ");
Thread myt1 = new Thread(pr1);
myt1.start();
PointRunnable pr2 = new PointRunnable("Thread2 ");
Thread myt2 = new Thread(pr2);
myt2.start();
}
}





  第二种方法是直接构造Thread的子类,重写run函数,创建对象并调用其start函数



/**
* 继承Thread实现线程
* @author Admin
*
*/
public class PointThread extends Thread{
public String name ;
public PointThread(String name){
this.name = name ;
}
/**
* 重写run函数
*/
public void run(){
System.out.println("继承Thread的线程"+name+"start!");
try{
Thread.sleep(500);
}catch(Exception e){
}
System.out.println("休息了500ms之后的"+name);
}
public static void main(String[] arg){
//使用创建Thread子类实现创建线程对象
PointThread pt1 = new PointThread(g,"Thread1 ");
pt1.start();
PointThread pt2 = new PointThread(g,"Thread2 ");
   pt2.start();
}
}



困得不行了。。。剩下多线程的控制还有线程的锁定明天早继续
洗洗睡了。。。。。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值