1,如果在自定义的代码中,自定义线程呢?
通过对api的查找,java已经提供了对线程这类事物的描述。就是Thread类
创建线程的第一种方式:继承Thread类.
步骤:
1,继承Thread类
2,覆写Thread类中的run方法
3,调用线程的start方法,该方法有两个作用:①启动线程②调用run方法
发现运行结果每一次都不同。因为多线程都获取cpu的执行权。cpu执行到谁,谁就运行。
明确一点:某一时刻,只能有一个程序在运行。(多核除外)
cpu在做着快速切换。以打到看上去同时运行的结果。
形象滴把多线程的运行比喻为:在互相抢夺cpu的执行权。
这就是多线程的一个特性:随机性。谁抢到谁执行,至于执行多久,cpu说的算。
所以说(如果在两个多线程的程序中添加一个for循环里面有标明各自的语句的话,在主线程添加一个for循环,然后会进行3个线程的会交替执行的)
如果主线程与其它线程同时执行,可能一会执行主线程,一会执行其它线程. |