今天终于将一个头疼我好几天的问题解决了,难点 多线程、socket服务、swt中自己的线程模式;
首先讲解一下我项目中遇到的问题,首先是我创建了一个shell窗口,做了一个内嵌浏览器,当我进入到index页面的时候,开始进行socket服务,我单独起的线程,负责接收客户端发送过来的消息,当我读到客户端发送的参数,我又创建一个线程去读取并返回给客户端,经过验证参数的正确性之后,控制内嵌浏览器的页面跳转,问题就出在这里,首先我以为是多线程之间通信的问题,于是我查了相关资料发现多线程之间相互调用是没有问题的。举例:
public class Thread2 {
public void m4t1() {
synchronized(this) {
int i = 5;
while( i-- > 0) {
System.out.println(Thread.currentThread().getName() + " : " + i);
try {
Thread.sleep(500);
} catch (InterruptedException ie) {
}
}
}
}
public void m4t2() {
int i = 5;
while( i-- > 0) {
System.out.println(Thread.currentThread().getName() + " : " + i);