网页游戏能用PHP做后端开发吗?

网页游戏能用PHP做后端开发吗?,第1张

PHP配合swoole应该是可以实现的多线程的。

swoole是PHP的协程高性能网络通信引擎,提供了多种通段档信协议的网络服务器和客户端模块。包括:

TCP/UDP/UnixSocket服务器

Http/WebSocket/Http2.0服务器端

异步/同步TCP/UDP网络客户端

异步MySQL

异步Redis

AsyncTask

毫秒定时器

异步文件读写

异步DNS查询

Http客户端

除了异步IO的支持之外,为多进程的渗亮模式设计了多个并发数据结构和IPC通信机制,可以大大简化多进程并发丛燃宽编程的工作。其中包括了:

并发原子计数器

并发HashTable

内存通道Channel

锁Lock

进程间通信IPC

可以广泛应用于互联网、移动通信、企业软件、网络游戏、物联网、车联网、智能家庭等领域。

其中战旗直播,虎牙直播。都用到了swoole开发。

原因分析:android系统中处理用户 *** 作的工作时在主线程中执行的,如果我们的程序在主线程中进行一些耗时的 *** 作,导致用户的 *** 作6秒不能够处理团升,就会出现异常。

主线程休眠,那么再点击程序,必须等主线程睡醒后才会反应。

所以在主拿闭线程中不要做太耗时的工作,因为主界面会阻塞。

解决办法:让这些耗时的 *** 作放在新线程里面 *** 作。

注意:如果新线程里面做的事情要更新界面的话,就要使用handler来 *** 作。

连接网络的事都要放在新线程消或裂里面的。

解决代码(包括更新界面的 *** 作,使用的是handler):

import android.app.Activity

import android.os.Bundle

import android.os.Handler

import android.view.View

import android.widget.TextView

import android.widget.Toast

public class MainActivity extends Activity {

private TextView numTV

private Handler handler = new Handler()

private int i

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState)

setContentView(R.layout.main)

numTV = (TextView) findViewById(R.id.numTV)

}

public void doSomething(View view) throws Exception {

new Thread() {

public void run() {

for (i = 1i <20i++) {

handler.post(new Runnable() {

public void run() {

numTV.setText(i + "")

}

})

System.out.println(i)

try {

Thread.sleep(1000)

} catch (InterruptedException e) {

e.printStackTrace()

}

}

}

}.start()

}

public void toast(View view) {

Toast.makeText(this, "十八大开幕了!", 0).show()

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12299263.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存