如何在Java中使用多个线程时声明共享变量没有信号量

时间:2017-11-27 14:54:59

标签: java multithreading operating-system global-variables

我有一个项目用于我的操作系统类,我们需要使用多个线程编写一个程序而没有信号量,我知道如何在伪代码中执行它,但是当我考虑实现时我可以&#39 ; t弄清楚如何声明共享变量我能想到的是另一个线程持有所有共享变量 编辑1:同步我们必须使用while(busywait true){}

编辑2:通过它的实现,这个项目将使你熟悉它的创建和执行 线程,并使用Thread类方法。为了同步你的线程 必须使用(必要时),run(),start(),currentThread(),getName(),join(),yield(), sleep(time),isAlive(),getPriority(),setPriority(),interrupt(),isInterrupted(),也许 同步方法。 在同步线程时,请勿使用任何信号量。不要使用wait(),notify()或 notifyAll的();

1 个答案:

答案 0 :(得分:-2)

Runnable实现的每个实例都包含对同一共享变量的引用。要使变量更改为对所有其他线程可见,则需要同步。变量应该声明为volatile,或者只能在synchronized块中访问。

$url="https://twitter.com";

$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,$url);
$result=curl_exec($ch);
print_r($result);