JAVA打jar包和线程

jar包打包有很多中其中有用命令 jar cvf 指定java文件 名称       和Linux tar打包是一样的 

jar包打包成功后,点击MANIFEST文件 加入参数  Main-Class:  指定初始启动类

THread是个生成线程的类,他包含有对象name;实现THread,必须包含run方法

有俩个方式实现线程:

方式一 :
    1. 自定义一个类继承Thread类。
    2. 重写Thread类的run方法,把自定义线程的任务代码写在run方法上。
    3. 创建Thread的子类对象,并且调用start方法启动一个线程。
        
    注意:千万不要直接调用run方法,调用start方法的时候线程就会开启,线程一旦开启就会执行run方法中代码,如果直接调用
    run方法,那么就 相当于调用了一个普通的方法而已。

方式二:
    1. 自定义一个类实现Runnable接口。
    2. 实现Runnable接口 的run方法,把自定义线程的任务定义在run方法上。
    3. 创建Runnable实现类对象。
    4. 创建Thread类 的对象,并且把Runnable实现类的对象作为实参传递。
    5. 调用Thread对象 的start方法开启一个线程。。

synchronized(锁对象){
需要同步的代码

同一个时间内,只能有一个线程访问被锁住的代码部分,synchronized可以修饰一个函数


wait():一个线程如果执行了wait方法,那么该线程就会进去一个以锁对象为标识符的线程池中等待
notify():如果一个线程执行notify方法,那么就会唤醒以锁对象为标识符的线程中等待线程其中一个

join():加入一个新的线程; 一个线程如果执行join语句,那么就有新的线程加入,执行该语句的线程必须要让步给新加入的线程先完成任务,然后才能继续执行

原文地址:https://www.cnblogs.com/liyong999/p/7739519.html