java多線程的操作

    時間:2024-11-05 23:56:21 SUN認證 我要投稿

    java關(guān)于多線程的操作

      一般服務(wù)器端代碼,每次收到一個線程,一個client就會產(chǎn)生:

      /************************ 開始監(jiān)聽 **************************/

      int port = 4311;

      ServerSocket server = null;//服務(wù)器

      Socket client = null;//客戶端

      try {

      server = new ServerSocket(port);

      } catch (IndirectionException e1) {

      System.out.println("正在監(jiān)聽……");

      }

      while(true)

      {

      System.out.println("等待客戶"+i);

      i++;

      try {

      client = server.accept();//開始監(jiān)聽線程,接收到client

      System.out.println("客戶地址:" + client.getInetAddress());

      } catch (IOException e1) {

      System.out.println("正在等待客戶");

      }

      }

      客戶端代碼,啟動之后便會連接服務(wù)器,得到回應(yīng)之后便會形成socket連接

      Socket clientsocket = null;

      try {

      clientsocket = new Socket("localhost",4311);

      } catch (UnknownHostException e) {

      // TODO Auto-generated catch block

      e.printStackTrace();

      } catch (IOException e) {

      // TODO Auto-generated catch block

      e.printStackTrace();

      }

      socket的輸入和輸出一般用流來相互寫。

      in.read()和out.write(),

      in.readObject()和out.writeObject(object)。

      客戶端的一個線程里面同時new了多個ObjectOutputStream流是不允許的,其它的流可以。ObjectOutputStream有鎖機制。

      如果是一般的輸入和輸出流的話用:

      DateOutputStream out = null;

      DateInputStream in = null;

      //獲得輸入輸出流

      try {

      out=new DateOutputStream(socket.getOutputStream());

      in=new DateInputStream(socket.getInputStream());

      } catch (IOException e2) {

      // TODO Auto-generated catch block

      e2.printStackTrace();

      }

      如果是對象上的輸入和輸出的話用:

      ObjectOutputStream out = null;

      ObjectInputStream in = null;

      //獲得輸入輸出流

      try {

      out=new ObjectOutputStream(socket.getOutputStream());

      in=new ObjectInputStream(socket.getInputStream());

      } catch (IOException e2) {

      // TODO Auto-generated catch block

      e2.printStackTrace();

      }

      如果復(fù)雜之后,可以是服務(wù)器啟動之后對每個客戶端啟動一個線程與客戶端的線程進行交互。

    【java多線程的操作】相關(guān)文章:

    sun認證考試輔導(dǎo):java關(guān)于多線程的部分操作07-27

    Java多線程的實現(xiàn)方式07-08

    java多線程面試題201710-03

    2016年java多線程面試題及答案07-02

    Java數(shù)組操作方法大全08-22

    2016年java數(shù)組操作方法大全06-19

    java操作xml的一個小例子09-06

    JAVA認證基礎(chǔ)知識:JSP使用數(shù)據(jù)庫操作06-10

    PHP Curl多線程原理詳解09-11

    Java與Java web的區(qū)別08-10

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      免费观看国产v片在线 | 亚洲欧美一区二区三区久久 | 亚洲乱码国产乱码精品精98 | 五月天婷婷丁香 | 亚洲精品一级在线播放 | 亚洲中文字幕一区精品 |