JAVA多线程程序设计,有追加100分 如何采用java线程实现多道程序设计

Java NIO\u56fe\u7247\u63a5\u6536\u7cfb\u7edf\uff0c\u9700\u8981\u591a\u7ebf\u7a0b\u5417\uff0c\u9700\u8981\u5199\u5165\u6570\u636e\u5e93\uff0c\u6709\u89c6\u9891\u7684\u8ffd\u52a0\u5206\u6570100\u5206\uff0c\u6709\u597d\u7684demo\u7684\u8ffd\u52a050\u5206

\u9700\u8981nio\u505a\u4ec0\u4e48\uff1f\u662f\u901a\u8fc7socket\u6765\u63a5\u6536\u56fe\u7247\u4e48\uff1f

\u6211\u4eec\u5fc5\u987b\u660e\u786e\u4e00\u4e2a\u5927\u65b9\u5411\uff0c\u4e5f\u5c31\u662f\u8bf4\u73b0\u5728\u9762\u5411\u5bf9\u8c61\u7684\u7f16\u7a0b\u8303\u7574\u3002\u5c3d\u7ba1\u4eba\u5de5\u667a\u80fd\u66fe\u7ecf\u6709\u6240\u6d6a\u6f6e\uff08\u770b\u770bBorland\u4e3a\u4ec0\u4e48\u6709Turbo Prolog\uff09\uff0c\u4f46\u672a\u67655-10\u5e74\u5de5\u4e1a\u754c\u5e7f\u6cdb\u627f\u8ba4\u5e76\u63a5\u53d7\u7684\u5c06\u662f\u9762\u5411\u5bf9\u8c61\u5f0f\u7684\u7f16\u7a0b\u3002

package com;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class ColorThread
{

public static void main(String[] args)
{

Myframe mf =new Myframe();//实例化对象
Thread t=new Thread(mf);//加入线程
t.start();//启动线程
}
}

class Myframe extends JFrame implements Runnable,ActionListener
{
private static final long serialVersionUID = 1L;
Random rand = new Random(System.currentTimeMillis());//随机数.用当前系统时间做基数
JPanel panel = new JPanel();//变色的面板
final JButton button = new JButton("点击停止或启动");//按钮
int action=0;//变色或停止变色 判断标示
public Myframe()
{
super("1/10秒变色1次");
button.setBounds(10, 10, 200, 30); //设置按钮坐标
button.addActionListener(this); //设置按钮监听
panel.setBounds(10, 50, 100, 100); //面板坐标
panel.setBackground(Color.BLUE); //面板初始颜色
this.setBounds(100, 100, 300, 300); //frame 初始大小坐标
this.add(panel); //将面板加入frame
this.setLayout(null); //设置frame布局为null
this.add(button); //将按钮加入frame
this.setDefaultCloseOperation(3); //设置关闭frame就退出程序
this.setVisible(true); //设置frame显示为可见
}
/**
* 实现Runnable线程接口
*/
public void run()
{
while (true)//设置死循环
{
try
{
if(action==0)//判断操作为0时改变面板背景颜色
{
panel.setBackground(getcolor()); //变色
}
Thread.sleep(100);//10之一秒 的休眠
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
private Color getcolor() //获得颜色
{
return new Color(getNum(), getNum(), getNum());
}
private int getNum() //获得小于255的随机数字
{
return rand.nextInt(255);
}
public void actionPerformed(ActionEvent e)//监听事件
{
if(action==0) //点击后判断.修改值.
{
action =1;
}else
{
action =0;
}

}
}
//有注释了

这是什么呀?

  • JAVA澶氱嚎绋嬬▼搴忚璁,鏈夎拷鍔100鍒
    绛旓細import java.awt.event.ActionListener;import java.util.Random;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;public class ColorThread { public static void main(String[] args){ Myframe mf =new Myframe();//瀹炰緥鍖栧璞 Thread t=new Thread(mf);//鍔犲叆...
  • 甯府蹇!java涓绾跨▼杩愯绱姞鍜绋嬪簭闂
    绛旓細鍥犱负寰幆娆℃暟澶ц嚧涓鏍凤紝涓嶈new Thread(p).start();鏈夊灏戯紝i++杩欒璇彞閮藉ぇ绾︽墽琛屼簡30000娆★紝濡傛灉鍙湁涓涓猲ew锛屽垯鍦ㄤ竴涓绾跨▼涓墽琛30000娆++锛屽鏋滄湁2涓猲ew锛屽湪涓や釜绾跨▼涓竴鍏辨墽琛屽ぇ绾30000娆++锛屾瘡涓嚎绋嬩笉鍙兘鎵ц30000娆++锛屽洜涓哄彟澶栦竴涓幇鎴愮殑i++涔熶細鏀瑰彉i鐨勫笺傚叧閿竴鐐规槸锛屽惊鐜彉閲...
  • java鍐欎竴涓澶氱嚎绋嬬▼搴銆 涓涓嚎绋嬭绠楀櫒涓婂噺涓,涓涓嚎绋嬭绠楀櫒涓婂姞涓...
    绛旓細public class Test {public static void main(String[] args) {final Stack stack = new Stack();Runnable r1 = new Runnable() {@Overridepublic void run() {while(true){stack.push();}}};Runnable r2 = new Runnable() {@Overridepublic void run() {while(true){stack.pop();}}};T...
  • java缂栫▼棰樼洰:瀹炵幇澶氱嚎绋绱姞,姹備唬鐮
    绛旓細Process finished with exit code 0 2銆佹墿灞昑hread绫诲疄鐜扮殑澶氱嚎绋嬩緥瀛 / 娴嬭瘯鎵╁睍Thread绫诲疄鐜扮殑澶氱嚎绋嬬▼搴 author leizhimin 2008-9-13 18:22:13 / publicclass TestThreadextends Thread{ public TestThread(String name) { super(name);} publicvoid run() { for(int i = 0;i<5;i++){ f...
  • java 澶氱嚎绋
    绛旓細Java璇█閲岋紝绾跨▼琛ㄧ幇涓虹嚎绋嬬被銆俆hread绾跨▼绫诲皝瑁呬簡鎵鏈夐渶瑕佺殑绾跨▼鎿嶄綔鎺у埗銆傚湪璁捐绋嬪簭鏃讹紝蹇呴』寰堟竻鏅板湴鍖哄垎寮绾跨▼瀵硅薄鍜岃繍琛绾跨▼锛鍙互灏嗙嚎绋嬪璞$湅浣滄槸杩愯绾跨▼鐨勬帶鍒堕潰鏉裤傚湪绾跨▼瀵硅薄閲屾湁寰堝鏂规硶鏉ユ帶鍒朵竴涓嚎绋嬫槸鍚﹁繍琛岋紝鐫$湢锛屾寕璧锋垨鍋滄銆傜嚎绋嬬被鏄帶鍒剁嚎绋嬭涓虹殑鍞竴鐨勬墜娈点備竴鏃︿竴涓Java绋嬪簭鍚姩鍚庯紝灏...
  • 閫熸眰:浣跨敤java瀹炵幇澶氱嚎绋閫氫俊鐨绋嬪簭
    绛旓細1.鐢ㄦ埛淇℃伅閾捐〃绫伙細瀹炵幇瀵圭敤鎴蜂俊鎭殑娣诲姞锛屽垹闄ゅ拰鏌ヨ鐨勫姛鑳斤紱2.鏈嶅姟鍣ㄤ富妗嗘灦绫伙細瀹炵幇浜烘満浜や簰锛屽惎鍔ㄦ湇鍔★紝鍏抽棴鏈嶅姟鍜屽彂閫佺郴缁熶俊鎭瓑锛3.鏈嶅姟鍣ㄤ睛鍚绾跨▼绫伙細渚﹀惉瀹㈡埛绔殑杩炴帴锛屽搷搴斿鎴风鐨勭櫥褰曡姹傦紝涓虹櫥褰曠敤鎴峰惎鍔ㄤ笓闂ㄧ嚎绋嬪強澶勭悊涓庢鐢ㄦ埛鐩稿叧鐨勬搷浣滐紱4.鏈嶅姟鍣ㄦ帴鏀剁嚎绋嬬被锛氭帴鏀跺鎴风鍙戦佹潵鐨勪俊鎭紝瀵逛俊鎭...
  • 鍩虹Java棰 璇曠紪鍐欎竴涓澶氱嚎绋鐨绋嬪簭:鍚姩4涓嚎绋嬨傚叾涓袱涓惊鐜10娆...
    绛旓細public class Day18_A {public static void main(String[] args) throws InterruptedException {Recoun rec = Recoun.getRec();Thread[] trr = new Thread[4];for (int i = 0; i < 4; i++) {trr[i] = new Thread(new NumberTest(rec, i), "绾跨▼" + (i + 1) + ":\t");}...
  • java澶氱嚎绋嬬紪绋涓秹鍙婄殑鍩虹鐭ヨ瘑鐐?
    绛旓細澶氱嚎绋嬬▼搴閮芥槸骞跺彂澶勭悊鐨勩傚鏋淐PU鍙湁涓涓紝閭d箞骞跺彂澶勭悊灏辨槸椤哄簭鎵ц鐨勶紝鑰屽鏋滄湁澶氫釜CPU锛岄偅涔堝苟鍙戝鐞嗗氨鍙兘浼氬苟琛岃繍琛屻傜瓑寰呴槦鍒 鎵鏈夊疄渚嬮兘鎷ユ湁涓涓瓑寰呴槦鍒楋紝瀹冩槸鍦ㄥ疄渚嬬殑wait鏂规硶鎵ц鍚庡仠姝㈡搷浣滅殑绾跨▼闃熷垪銆傚氨濂芥瘮涓烘瘡涓疄渚嬪噯澶囩殑绾跨▼浼戞伅瀹 鍦ㄦ墽琛寃ait鏂规硶鍚庯紝绾跨▼渚夸細鏆傚仠鎿嶄綔锛岃繘鍏ョ瓑寰呴槦鍒楄繖涓...
  • java绋嬪簭璁捐鍐呭绠浠
    绛旓細鏈功涓撲负鐞嗚ВJava绋嬪簭璁捐鍜屾帉鎻$紪绋嬫妧宸ц岃璁★紝娑电洊浜咼ava璇█鐨勫熀纭璇硶锛屽缁撴瀯鍖缂栫▼锛浠ュ強鏇存繁灞傛鐨勯潰鍚戝璞¤璁°傛繁鍏ユ帰璁ㄤ簡鏁扮粍銆佸瓧绗︿覆銆佸悜閲忋佸搱甯岃〃銆佹灇涓俱佸紓甯稿鐞嗐佹枃浠舵搷浣溿佸浘褰㈢敤鎴风晫闈㈣璁°丄pplet绋嬪簭銆绾跨▼绠$悊銆佺紪绋嬭鑼冿紝浠ュ強缃戠粶鍜屽濯掍綋鍥惧舰瀛︾瓑瀹炵敤鎶鏈傜珷鑺傜紪鎺掍笌鍐呭缁勭粐閬靛惊浜嗗涔...
  • Java 澶氱嚎绋嬬▼搴
    绛旓細import java.text.SimpleDateFormat;import java.util.Date;public class TEST{ public static void main(String[] agrs){ Thread thread1 = new Thread(new Thread1());Thread thread2 = new Thread(new Thread2());Thread thread3 = new Thread(new Thread3());thread1.start();thread2....
  • 扩展阅读:java 多线程面试题 ... java多线程怎么写 ... java多线程开发 ... 现在多线程都用哪种方式 ... java创建线程的四种方式 ... java秒杀 多线程实例 ... java多线程知识点总结 ... java多线程异步 ... java实现多线程的三种方法 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网